摘要: 源代码下载请点这里 在设计窗体程序时往往需要相互调用的窗体间传递复杂的数据,有时候甚至需要子窗体修改父窗体的内容。前一阵在博客园中看到很多人讨论这个问题,在海天一鸥《窗体间传值和窗体间互操作》的评论中,我看到有这么几种做法:1)公开一个静态变量;2)在子窗体中创建一个公有字段;3)在父窗体中使用委托与事件;4)将子窗体作为父窗体成员。 这些办法我感觉都不是特别好,会导致父窗体与子窗体耦合过于紧密,... 阅读全文
posted @ 2009-06-02 20:57 boer 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 本文转载自http://news.csdn.net/a/20090408/210278.html 作为一名程序员,如果你想在这个领域内继续向前进步或者在当前的经济形势下保持不被炒鱿鱼,那么你就决不应当自满自足,你需要继续学*。*日,著名IT评论员Justin James在他的博客中列出了未来五年程序员应当具备的十项技能,如果照此实践,你未来的工作前景一定一片光明。 当前的经济形势下,很多程序员将... 阅读全文
posted @ 2009-06-02 19:32 boer 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 提纲:1、 什么是反射2、 命名空间与装配件的关系3、 运行期得到类型信息有什么用4、 如何使用反射获取类型5、 如何根据类型来动态创建对象6、 如何获取方法以及动态调用方法7、 动态创建委托 1、什么是反射 Reflection,中文翻译为反射。 这是.Net中获取运行时类型信息的方式,.Net的应用程序由几个部分:‘程序集(Assembly)’、‘模块(Mo... 阅读全文
posted @ 2009-06-02 16:40 boer 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 提起c#中的属性和特性,对于初学者,常常认为二者存在某种必然的联系。它们一个叫property(属性),一个叫attribute(特性),译成中文后,由于名称很相似,而且MSDN中将二者都翻译为属性,致使很多人将二者视为同一类概念,其实它们之间并没有模糊的概念交叉,我们完全可以分开各自理解,没有必要也没法比较二者的异同点。因此,本文主要讨论属性和特性的概念以及如何使用。1 属性 1.1又叫智能字段... 阅读全文
posted @ 2009-06-02 15:14 boer 阅读(847) 评论(0) 推荐(0) 编辑
摘要: 第一种方法:使用Stopwatch[代码]复调用了方法100多万次,花的时间是7MS左右。而如果把for里的方法调用去掉,则只需要3MS左右,也就是说100多万次的调用要花费5MS左右的时间。 for (int i = 0; i < 1103140; i++) { // InternalMethod(); } 如果把for增加到1亿次,则需要500多MS。 第二种方法:使用Environ... 阅读全文
posted @ 2009-06-02 14:57 boer 阅读(850) 评论(0) 推荐(0) 编辑
摘要: 1. 什么是抽象类和接口 · 抽象类是由abstract修饰的在实现内容上没有完全定义的类class,可以包含方法的声明而没有实现,当然也可以定义实现。关键在于“抽象”意义。 public abstract class General { // 抽象类可以有自己的数据成员 private const string Name = "Abstract Gene... 阅读全文
posted @ 2009-06-02 13:01 boer 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 1 (int)是一种类型转换;当我们从int类型到long,float,double,decimal类型,可以使用隐式转换,但是当我们从long类型到int类型就需要使用显式转换,否则会产生编译错误。 2 int.Parse()是一种类容转换;表示将数字内容的字符串转为int类型。 如果字符串为空,则抛出ArgumentNullException异常; 如果字符串内容不是数字,则抛出Form... 阅读全文
posted @ 2009-06-02 11:50 boer 阅读(191) 评论(0) 推荐(0) 编辑