.net 反射机制 经常遇到的类
2016-11-08 20:20
162 查看
System.Type类:
System.Type 类对于反射起着核心的作用。但它是一个抽象的基类,Type有与每种数据类型对应的派生类,我们使用这个派生类的对象的方法、字段、属性来查找有关该类型的所有信息。
获取给定类型的Type引用有3种常用方式:
●使用
C# typeof 运算符。
Type t = typeof(string);
●使用对象GetType()方法。
string s = "grayworm";
Type t = s.GetType();
●还可以调用Type类的静态方法GetType()。
Type t = Type.GetType("System.String");
System.Reflection.Assembly类
Assembly类可以获得程序集的信息,也可以动态的加载程序集,以及在程序集中查找类型信息,并创建该类型的实例。
使用Assembly类可以降低程序集之间的耦合,有利于软件结构的合理化。
通过程序集名称返回Assembly对象
Assembly ass = Assembly.Load("ClassLibrary831");
通过DLL文件名称返回Assembly对象
Assembly ass = Assembly.LoadFrom("ClassLibrary831.dll");
通过Assembly获取程序集中类
Type t = ass.GetType("ClassLibrary831.NewClass"); //参数必须是类的全名
通过Assembly获取程序集中所有的类
Type[] t = ass.GetTypes();
System.Type 类对于反射起着核心的作用。但它是一个抽象的基类,Type有与每种数据类型对应的派生类,我们使用这个派生类的对象的方法、字段、属性来查找有关该类型的所有信息。
获取给定类型的Type引用有3种常用方式:
●使用
C# typeof 运算符。
Type t = typeof(string);
●使用对象GetType()方法。
string s = "grayworm";
Type t = s.GetType();
●还可以调用Type类的静态方法GetType()。
Type t = Type.GetType("System.String");
System.Reflection.Assembly类
Assembly类可以获得程序集的信息,也可以动态的加载程序集,以及在程序集中查找类型信息,并创建该类型的实例。
使用Assembly类可以降低程序集之间的耦合,有利于软件结构的合理化。
通过程序集名称返回Assembly对象
Assembly ass = Assembly.Load("ClassLibrary831");
通过DLL文件名称返回Assembly对象
Assembly ass = Assembly.LoadFrom("ClassLibrary831.dll");
通过Assembly获取程序集中类
Type t = ass.GetType("ClassLibrary831.NewClass"); //参数必须是类的全名
通过Assembly获取程序集中所有的类
Type[] t = ass.GetTypes();
相关文章推荐
- 使用C#的反射机制时遇到的问题
- 使用C#的反射机制时遇到问题
- VB.NET的反射机制
- 如何通过C#.NET中的反射机制来创建C#.NET泛型类的实例,并调用其方法??
- 再识vb.net反射机制
- 通过Reflector和.net的反射机制来探索和使用.net framework未文档化的API
- LVS负载均衡软件在处理Netfilter/iptables连接状态跟踪机制时遇到的一个bug的说明
- vb.net反射机制
- 如何通过C#.NET中的反射机制来创建C#.NET泛型类的实例,并调用其方法??
- Spring.net ObjectWrapper对象的包装(反射机制)有点明晰方便
- 使用C#的反射机制时遇到的问题
- 服务器(WIndows2003)部署asp.net网站生成word文档经常遇到的问题!
- 当我们在ASP.NET开发时,经常会遇到一个头疼的问题:字符数的控制
- asp.net 未能找到文件“c:\windows\system32\inetsrv\02100.text”。 网站经常遇到这样的问题求解
- net 反射机制
- 使用C#的反射机制时遇到的问题
- 在做Asp.Net开发的时候,经常会遇到页面乱码的问题,下面是在网上收集的相关资料,请大家参考:
- VB.NET 反射机制取得当前函数名 类名等
- vb.net反射机制
- .NET 使用ORACLE ADO.NET 经常会遇到的问题