11 2012 档案
C#插件编程(基础)
摘要:最近也研究了下插件编程,网上的例子太少,而且不适合初学者。这里专门做了个简单易懂的例子,供大家学习,程序如有问题还望跟帖予以指教。 程序界面运行如下://==============================================================首先,我们要定义一个插件接口,接口规范了插件内部类的程序结构,应实现的字段,属性,方法,事件。using System; using System.Collections.Generic; using System.Text;namespace IMsg { //这是插件必须要实现的接口,也是主程序与插件通信的唯一接口, 阅读全文
posted @ 2012-11-14 09:01 Q&A 阅读(432) 评论(0) 推荐(0)
C#开发代码的小技巧2
摘要:18.使用属性代替可访问的数据成员19.运行时常量(readonly)优于编译时常量(const)20.操作符is或as优于强制转型21.使用Conditional特性代替#if条件编译22.总是提供ToString()方法23.明辨值类型和引用类型的使用场合24.将值类型尽可能实现为具有常量性和原子性的类型25.确保0为值类型的有效状态26.理解几个相等判断之间的关系27.理解GetHashCode()方法的缺陷28.优先采用foreach循环语句29.变量初始化器优于赋值语句30.使用静态构造器初始化静态类成员31.利用构造器链32.利用using和try/finally语句来清理资源33 阅读全文
posted @ 2012-11-06 13:27 Q&A 阅读(221) 评论(0) 推荐(0)
C#开发代码的小技巧1
摘要:1. 使用as,而非isobject o = GetFromCache("A_KEY");EmployeeInfo employee = o as EmployeeInfo;if(employee != null){// TODO: 代码}2. 使用DataReader读取数据using(SqlDataReader reader = SqlHelper.ExecuteReader(cmd)) {while(reader.read()) {// TODO: 读取当前行的数据}}3. 尽量使用强类型集合(包括泛型集合),而非DataTableusing(SqlDataReade 阅读全文
posted @ 2012-11-06 13:26 Q&A 阅读(273) 评论(0) 推荐(0)
C#动态程序集的加载、创建实例、序列化与反序列化
摘要:http://hi.baidu.com/linrao/blog/item/6086dc3918df18d5d4622534.html什么是动态程序集动态程序集是指没有被编译至主程序,而是主程序在运行时动态调用或者生成的程序集。动态链接库(dll)大家一定很熟悉,它是一系列类和方法的打包,可以被不同的执行程序加载和共享,而C#生成的程序集也是dll。在实际应用中,一些程序不一定要在启动的时候就把所有dll文件都加载到内存中,而是根据需要动态加载或者创建。C#的反射和晚期绑定为实现这种操作提供了极大的帮助。本文主要介绍了从动态程序集里怎样创建特定类的对象,以及该对象的序列化和反序列化问题。C#的加 阅读全文
posted @ 2012-11-02 08:55 Q&A 阅读(2203) 评论(1) 推荐(0)