06 2010 档案
摘要:在做项目时,涉及到用户自定义报表,即用户可以根据自己的喜好,选择报表中需要显示的列,并可以对这些列重新命名/排序等.这些功能由报表设计器来完成. 最初设想的是使用ListBox的SelectedIn...
阅读全文
摘要:先看下面的代码: 编译时可以通过,但运行时却报如下错误:System.InvalidCastException: 指定的转换无效。这是因为,当对一个对象进行拆箱时,转型的结果必须是它原来未装箱的类型。...
阅读全文
摘要:C#中,当使用常数符号const时,编译器首先从定义常数的模块的元数据中找出该符号,并直接取出常数的值,然后将之嵌入到编译后产生的IL代码中,所以常数在运行时不需要分配任何内存,当然也就无法获取常数的地址,也无法使用引用了。 如下代码: 将其编译成ConstTest.dll文件,并在如下代码中引用此ConstTest.dll文件。 编译运行此Main.exe程序,结果输出为1000。之后将bin...
阅读全文
摘要:CLR最重要的一个特性就是类型安全。CLR在运行时总能知道一个对象的类型。我们也可以通过调用GetType()方法,来得到对象的准确类型。因为该方法是一个非虚方法,所以我们不可能利用它来篡改一个类型的信息。(Microsoft.NET 框架程序设计<修订版>p117) 我们定义如下类: 通过如下代码: 我们得到的输出为: 通过以上,应该可以明白“CLR在运行时总能知道一个...
阅读全文