关闭

反射中属性的用法

95人阅读 评论(0) 收藏 举报
分类:

 首先自定义属性继承 System.Attribute

[AttributeUsage(AttributeTatget.All,AllowMultpie=true,Inherited=false)] //关于自定义属性的约束 作用范围/可否多次设置/可否继承

public class myAttribute:Attribute

{

    //可以有属性,方法以及构造函数

}


//自定义项目中的类

[myAttribute]

public class myTest

{

    [myAttribute]

    public void myMethod()

   {

   } 

}


//反射获取自定义项目

Assmbly assmbly=Assmbly.Load("myTestClass");

Type[] types=assmbly.GetTypes();

foreach(Type type in types)

{

      object[] classObj=   type.GetCustomAttributes(typeof(myAttribute),false);

     forrach( object obj in classObj)

     {

           myTest mytest=assmbly.CreateInterface(obj.FullName) as myTest();  //获取到属性对应的类

     }

}


此外 MethosIInfo 方法与上类似


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:18125次
    • 积分:568
    • 等级:
    • 排名:千里之外
    • 原创:39篇
    • 转载:8篇
    • 译文:0篇
    • 评论:6条
    文章分类
    最新评论