许明会的计算机技术主页

Language:C,C++,.NET Framework(C#)
Thinking:Design Pattern,Algorithm,WPF,Windows Internals
Database:SQLServer,Oracle,MySQL,PostSQL
IT:MCITP,Exchange,Lync,Virtualization,CCNP

导航

04 2013 档案

自动属性,对象初始化器,集合初始化器和lambda表达式
摘要:C#在2.0以后进入了一些新特性,如 自动属性,对象初始化器,集合初始化器和lambda表达式,另外还包括匿名方法、可空类型和扩展方法等。详细见我2007年的文章,现测试几个初始化器在语法层面和reflector以后对比,可发现哪些是语法甜点,那些是CLR内置的改进。1.自动属性:AutoProperty 直接给出类内属性field的名称,后面跟{},并在内部简单写get; set;即可。 编译器将自动创建私有属性字段,并实现get_属性名称和 set_属性名称method,属于编译器语法甜头。public string FirstName{get;set;}2.对象初始化器:Object . 阅读全文

posted @ 2013-04-29 22:29 许明会 阅读(681) 评论(0) 推荐(0) 编辑

C# Windows窗体间消息传递的问题
摘要:--提出Windows窗体间消息传递的问题:如何根据子窗体的状态更改父窗体的状态?如双击DataGridView的行记录后弹出修改该行记录的子窗体,在修改完数据后希望DataGridView数据刷新,这就需要子窗体通知父窗体刷新数据!考虑在子窗体上移动鼠标,将子窗体鼠标的坐标传递给父窗体的标题栏,如何实现?反过来在父窗体上移动鼠标,如何传递给子窗体?经典的做法为方法回调,在父窗体类中注册子窗体的MouseMove事件调用父窗体的Method直接修改标题栏;当然我们也可以将父窗体的对象指针船体给子窗体对象的tag,然后在子窗体的MouseMove事件中将tag转换为父窗体对象,然后修改其标题栏文 阅读全文

posted @ 2013-04-26 20:40 许明会 阅读(746) 评论(0) 推荐(0) 编辑

p/invoke示例
摘要: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 阅读全文

posted @ 2013-04-25 11:26 许明会 阅读(205) 评论(0) 推荐(0) 编辑

示例ConsoleApp查询SQLServer数据库
摘要:访问数据库的类usingSystem;usingSystem.Collections;usingSystem.Data.SqlClient;namespaceSQLCMD{publicpartialclassSqlCMD{SqlConnectionconnector=null;SqlCommandcommand=newSqlCommand();ArrayListalResult=newArrayList();//连接指定的数据库,初始化Command对象的Connection属性publicboolConnect(stringdatasource,stringdatabase,stringui 阅读全文

posted @ 2013-04-25 11:25 许明会 阅读(544) 评论(0) 推荐(0) 编辑

C#的基础类型
摘要: 阅读全文

posted @ 2013-04-20 22:39 许明会 阅读(159) 评论(0) 推荐(0) 编辑

多个托管模块构成同一个程序集
摘要:代码演示了一个assembly包含多个namespace,且该assembly包含两个不同编程语言实现的物理PE文件(托管代码),这没有问题。反问一个namespace可以包含多个assembly吗?答案是:当然没问题!同一namespace包含多个assembly 阅读全文

posted @ 2013-04-18 23:02 许明会 阅读(156) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示