欢迎来到天天文库
浏览记录
ID:9032671
大小:230.50 KB
页数:12页
时间:2018-04-15
《很全很好用的反射例子》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、反射帮助类这个帮助类主要是用反射技术来实现的,既然说到反射那我们就来说说反射吧!1、概念:这是.Net中获取运行时类型信息的方式,.Net的应用程序由几个部分:'程序集(Assembly)’、'模块(Module)’、'类型(class)’组成,而反射提供一种编程的方式,让程序员可以在程序运行期获得这几个组成部分的相关信息,例如: 通常程序员面试题,有这样关于反射的解释:反射可以动态地创建类型的实例,还可以将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性。2、下面我们来说说反射中经常用
2、到的几个类吧!a)Assembly类可以获得正在运行的装配件信息,也可以动态的加载装配件,以及在装配件中查找类型信息,并创建该类型的实例。i.下面是关于Assembly类的例子publicvoidAssemblyTest(){Console.WriteLine("----------------Assembly类的使用----------------");Console.WriteLine();//获取当前所执行代码的程序集信息Assemblyassembly=Assembly.GetExecutingAssembly();Cons
3、ole.WriteLine("获取程序集的位置:"+assembly.CodeBase);Console.WriteLine("获取程序集的入口点:"+assembly.EntryPoint);Console.WriteLine("获取程序集的显示名称:"+assembly.FullName);Console.WriteLine("获取包含当前程序集清单的模块:"+assembly.ManifestModule);Console.WriteLine();//获取当前程序集的名称和信息AssemblyNameassemblyName=
4、assembly.GetName();Console.WriteLine("获取或设置程序集的简单名称:"+assemblyName.Name);Console.WriteLine("获取程序集的名称:"+assemblyName.FullName);Console.WriteLine("获取或设置程序集的URL位置:"+assemblyName.CodeBase);Console.WriteLine("获取或设置程序集的主版本号、次版本号、内部版本号和修订版本号:"+assemblyName.Version);Console.Wr
5、iteLine();//获取当前程序集的版本相关信息Versionversion=assemblyName.Version;Console.WriteLine("获取当前程序集的主版本号:"+version.Major);Console.WriteLine("获取当前程序集的次版本号:"+version.Minor);Console.WriteLine("获取当前程序集的内部版本号:"+version.Build);Console.WriteLine("获取当前程序集的修订版本号:"+version.MajorRevision);C
6、onsole.WriteLine();}ii.b)Type类可以获得对象的类型信息,此信息包含对象的所有要素:方法、构造器、属性等等,通过Type类可以得到这些要素的信息,并且调用之。i.下面是关于Type类的例子:publicvoidTypeTest(){Console.WriteLine("-----------------------Type类的使用-------------------------");Console.WriteLine();//设置被检索的类TypemyType=Type.GetType("Demo.Per
7、sonClass");//TypemyType=newPersonClass().GetType();//检索信息Console.WriteLine("获取当前成员名称:"+myType.Name);Console.WriteLine("获取当前完全限定名(不包括程序信):"+myType.FullName);Console.WriteLine("获取当前Type所在的够命名空间:"+myType.Namespace);Console.WriteLine();//检索类成员Console.WriteLine("获取方法相关信息:"+
8、myType.GetMethod("MetName").ToString());Console.WriteLine("获取属性相关信息:"+myType.GetProperty("Name").ToString());Console.
此文档下载收益归作者所有