初始C#中的Attribute类

    最近在做项目中的时候遇到了一个很神奇的类,当时我看得瞬间蒙圈,后来看了下大神们的博客和查了下MSDN,是这么说的!

    Attribute类:表示自定义属性的基类。

    Attribute类:从网上查了一些资料后,稍微能看懂了。都说它说就好比是一个附着物,用来定义额外的信息以及属性。举个例子来说吧!我们做程序开发是时候,如何确定方  法是谁开发的呢?当然你也可以在方法上添加注释,用来表明这个方法是谁敲的,除此之外呢?还有其他方法吗?

    这个时候这个类就派上用场了。通过继承此类,可以自定义一个属性类,然后附加的形式来为需要添加的类或者方法添加额外的属性、



       Demo展示


 /// <summary>  
    /// 自定义额外属性的类  
    /// </summary>  
    class ClassAttribute : Attribute  
    {  
        private string name { set; get; }  
        public ClassAttribute(string Name)  
        {  
            this.name = Name;  
        }  
    }
  

        上面这个Demo就是自定义额外属性的类,那么如何利用和获取呢?


 class Student  ///默认第一个不赋值的为构造函数类型的赋值,走的是构造函数  
    {  
        [Class("Football")]  
        public string profession;  
        public string Profession  
        {  
            get { return profession; }  
            set { profession = value; }  
        }  
    }


       大家看明白了吗?通过标签的形式,就可以为类、接口、方法等添加额外的属性。

       那么这时候,很多人会问,我已经添加了,那么如何来读取我添加的额外的属性呢?

       我自己当时用这个的类的时候 查了下Attribute类的API,里面有20多个GetCustomAttribute的方法重载,通过这个方法就可以读取定义的额外的属性。


            //使用反射读取Attribute  
            System.Reflection.MemberInfo info = typeof(Student); //通过反射得到Student类的信息  
            ClassAttribute hobbyAttr = (ClassAttribute)Attribute.GetCustomAttribute(info, typeof(ClassAttribute));  
            if (hobbyAttr != null)  
            {  
                Console.WriteLine("学生姓名:{0}", hobbyAttr.Name);  
            }  

       上面就是通过调用GetCustomAttribute的方法来读取自定义额外的属性操作。下面一张图告诉这个类的使用方法!


      总结

            刚用这个类也有可能说的不太清楚,如果大家有什么好的建议可以给我留言,大家一起进步,以后在开发过程中难免有地方用到这个类,这样用起来更加的方便简洁。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值