首页 > Windows开发 > 详细

C# 特性Attributes 和反射

时间:2015-10-10 17:13:13      阅读:286      评论:0      收藏:0      [点我收藏+]
一,Attributes 类新建一个子类,DetailAttributes
技术分享View Code
二, 在类的属性声明上面加Attributes
public class testAttributes
{
    [Detail(AttrName = "宽度", Html = "<input type=‘text‘ />", DefaultValue = "50", DataSource = null)]
    public string username {get;set;}

    public class FactoryDetail
    {
        [Detail(AttrName = "宽度", Html = "<input type=‘text‘ />", DefaultValue = "50", DataSource = null)]
        public string Width { set; get; }

        [Detail(AttrName = "高度", Html = "<input type=‘text‘ />", DefaultValue = "50", DataSource = null)]
        public string Height { set; get; }

        [Detail(AttrName = "状态", Html = "<select></select>", DefaultValue = null, DataSource = "select text,value from status")]
        public string Status { set; get; }

        [Detail(AttrName = "Tag值", Html = "<input type=‘text‘ />", DefaultValue = "", DataSource = null)]
        public string Tag { set; get; }
        [Detail(AttrName = "描述", Html = "<input type=‘text‘ />", DefaultValue = "", DataSource = null)]
        public string Desc { set; get; }

        public string test()
        {
            string s = "";
            Type oType = this.GetType();
            foreach (PropertyInfo opi in oType.GetProperties())
            {
                object [] peratt =     opi.GetCustomAttributes(true);
                foreach (var tmp in peratt)
                {
                    if (tmp.GetType() == typeof(FactoryDetail))
                    {
                        DetailAttribute detailAtt = (DetailAttribute)tmp;

                        s += "AttrName: " + detailAtt.AttrName + " ";
                    }
                }
            }
            return s;
        }
    }
}

 

 

C# 特性Attributes 和反射

原文:http://www.cnblogs.com/sxypeace/p/4867425.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!