摘要: 无一列外特性也是一种对象,但是特性不同于其他对象,特性对象的作用是向程序集添加元数据,这也就意味着能够向编译器说明特性所作用的对象具有哪些特性,编译在通过这个特性得知这个对象在具备哪些特征(是否可以序列化等等)。特性就是起描述作用的,可以用来向运行时描述你的代码,或者在程序运行的时候影响应用程序的行为。其描述的对象可以是程序集本身、模块、类、接口、结构、构造函数、方法、方法参数等。加载了特性的对象称作特性的目标。 在.NET下,特性是继承自Attribute,通过F12导航可以发现:1.Attribute其实是一个抽象类,其本身有被若干个特性所描述。其中最主要的是第二个AttributeUs. 阅读全文
posted @ 2010-12-18 21:07 雁北飞 阅读(488) 评论(0) 推荐(0) 编辑
摘要: 在某些情况下我们可能需要在运行的时候动态创建对象,或者动态确定需要调用那些方法,由于Type,Assembly封装了对象和程序集的信息,因此我们可以在运行时创建某个对象,某个程序集的Type,Assembly对象,接着利用他们提供的方法来实现动态创建对象,动态调用方法。 要获取某个对象的信息,动态创建某个类型的对象,首先要获取改类型的程序集,获取一个程序集的信息通常可以通过Assembly的静态方法来获取(Load,GetExecutingAssembly,GetAssembly,LoadForm,LoadFile),也可以通过AppDomian的静态方法来获取。接下来就是动态创建对象了。 1 阅读全文
posted @ 2010-12-18 20:01 雁北飞 阅读(947) 评论(0) 推荐(0) 编辑