摘要:C#在2.0以后进入了一些新特性,如 自动属性,对象初始化器,集合初始化器和lambda表达式,另外还包括匿名方法、可空类型和扩展方法等。详细见我2007年的文章,现测试几个初始化器在语法层面和reflector以后对比,可发现哪些是语法甜点,那些是CLR内置的改进。1.自动属性:AutoProperty 直接给出类内属性field的名称,后面跟{},并在内部简单写get; set;即可。 编译器将自动创建私有属性字段,并实现get_属性名称和 set_属性名称method,属于编译器语法甜头。public string FirstName{get;set;}2.对象初始化器:Object .
阅读全文
摘要:--提出Windows窗体间消息传递的问题:如何根据子窗体的状态更改父窗体的状态?如双击DataGridView的行记录后弹出修改该行记录的子窗体,在修改完数据后希望DataGridView数据刷新,这就需要子窗体通知父窗体刷新数据!考虑在子窗体上移动鼠标,将子窗体鼠标的坐标传递给父窗体的标题栏,如何实现?反过来在父窗体上移动鼠标,如何传递给子窗体?经典的做法为方法回调,在父窗体类中注册子窗体的MouseMove事件调用父窗体的Method直接修改标题栏;当然我们也可以将父窗体的对象指针船体给子窗体对象的tag,然后在子窗体的MouseMove事件中将tag转换为父窗体对象,然后修改其标题栏文
阅读全文
摘要:usingSystem;usingSystem.Windows.Forms;usingSystem.Runtime.InteropServices;publicclassMyClass{[DllImport("user32.dll",EntryPoint="MessageBoxW")]publicstaticexternintMessageBoxW([In]System.IntPtrhWnd,[In][MarshalAs(UnmanagedType.LPWStr)]stringlpText,[In][MarshalAs(UnmanagedType.LPW
阅读全文
摘要:访问数据库的类usingSystem;usingSystem.Collections;usingSystem.Data.SqlClient;namespaceSQLCMD{publicpartialclassSqlCMD{SqlConnectionconnector=null;SqlCommandcommand=newSqlCommand();ArrayListalResult=newArrayList();//连接指定的数据库,初始化Command对象的Connection属性publicboolConnect(stringdatasource,stringdatabase,stringui
阅读全文
摘要:代码演示了一个assembly包含多个namespace,且该assembly包含两个不同编程语言实现的物理PE文件(托管代码),这没有问题。反问一个namespace可以包含多个assembly吗?答案是:当然没问题!同一namespace包含多个assembly
阅读全文