19/07/2009
System.Type类用来完成全部的反射操作.
1.得到Type对象:
- 任何对象上调用GetType()
- Type.GetType()
- typeof()
- Type[] types=myObj.GetInterfaces():得到由对应对象实现或继承的所有接口类型的数组.
- Type classType=myModule.GetType("ClassName")
- FindTypes()
2.然后利用第1步中得到的Type对象,调用它的相关属性或方法来得到类型信息.
System.Type:表示类型声明:类、接口、数组、值、枚举、类型参数、泛型类型定义、开放或封闭构造的泛型。
获取程序集元数据信息:
1.获取Assembly实例:
得到已经运行的Assembly实例:
共享方法:
- GetAssembly(Type t) :返回声明有指定类型的程序集.
- GetCallingAssembly() :返回包含调用当前所执行方法的方法的程序集.
- GetEntryAssembly() :返回包含当前AppDomain的入口点的程序集.
- GetExecutingAssembly():返回包含当前所执行代码的程序集.
将指定的程序集加载到内存,并返回一个Assembly实例:
共享方法:
- Load(…);
- LoadWithPartialName(…);
- LoadFrom(…)
通过查询Type对象的Assembly属性来得到表示定义此类型的程序集的Assembly对象.与Assembly.Getasssembly所返回的类型对象完全相同.
AppDomain.GetAssemblies()返回在特殊应用程序域中加载的程序集.
2.用在第1步中得到的Assembly对象的方法属性等来取得程序集元数据信息.
24/06/2009
环境:vs2005
今天在用DataAdapter.Update()把一个21个SQL Server里查询出来的表导出到VFP里的时候,没有完成导出,仔细查找之后,发现有一个表名称的错误,使SQL Server里查询出来的与要导入的VFP表名称不一致,结果就直接退出来了,没有错误提示,后面的几个表也没有再进行下去,后结查资料才知道:DataAdapter有个ContinueUpdateOnError,默认为false;哈哈,后面的没有继续下去,这一点就好理解了.可是为什么没有出错提示呢.这就比较奇怪了,不像微软的作风.
29/05/2009
vs2005+ajax entensions 1.0下出现:
---------------------------
Windows Internet Explorer
---------------------------
Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the server. The status code returned from the server was: 12031
---------------------------
确定
---------------------------
上网查了一下,原来是路径或名称当中包含了中文.我把中文改成了英文,果然就没再出错了.还有人提出了不同的解决办法,我没测试.所以也不知道是否可行
vs2005+ajax entensions 1.0下出现:
---------------------------
Windows Internet Explorer
---------------------------
Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the server. The status code returned from the server was: 12031
---------------------------
确定
---------------------------
上网查了一下,原来是路径或名称当中包含了中文.我把中文改成了英文,果然就没再出错了.还有人提出了不同的解决办法,我没测试.所以也不知道是否可行