2011年2月17日

C#中类型分析中的常见问题 Type

摘要: 写代码的时候经常需要分析已有类型的信息例如:分析现有类型自动生成类, 或者为现有的类自动增加一些功能总结了一点点经验以ClassA a; 为例1. 通过typeof(ClassA) 或者 a.GetType() 获取类型信息, 推荐使用typef() 可以避免空引用,而且有的时候不需要构造一个ClassA的实例,  typeof(ClassA)的性能一点都不差,不要把它和反射混为一谈,2.对于Type.IsPrimitive来说 很多常见的类型不是原生类型  例如 String DateTime decimal 都不是原生类型  按照MSDN的说明 原生类型只包括:http://msdn.mi 阅读全文

posted @ 2011-02-17 18:58 听说读写 阅读(1325) 评论(0) 推荐(0) 编辑

C#动态生成代码和程序集

摘要: 以下代码动态生成cs文件编译为Assembly 之后可以使用AppDomain.Load 加载程序集,并新建类型[代码] 阅读全文

posted @ 2011-02-17 16:33 听说读写 阅读(7521) 评论(0) 推荐(1) 编辑

某项目要调用现有的100多个DLL 五 自动封装跨域调用的逻辑

摘要: 上文说到了可以通过继承的方式实现Class的可序列化那么目前准备采用的方案如下1.为所有输入输出参数 实现可序列化 (原来已经序列化的就不必了)2.在本域生成一个代理类, 负责封装所有输入参数 并调用远程域的方法3.在独立域生成一个代理类,负责接收输入参数 调用实际的方法,并且包装返回值调用流程 本身代码 -> 本地代理类 -> 封装输入参数 - > 跨域访问 -> 接收输入参数 并调用实际的DLL -> 封装返回值 -> 本地代理类接收返回参数一共要动态生成3个Assembly一个保存 本域的代理类程序集一个保存 独立域的代理类程序集还有一个保存所有的实体 阅读全文

posted @ 2011-02-17 15:40 听说读写 阅读(400) 评论(0) 推荐(0) 编辑

导航