• C# 特性Attributes 和反射


    一,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;
            }
        }
    }
  • 相关阅读:
    大数据技术
    大数据技术
    大数据技术
    设计模式之代理模式
    大数据技术
    大数据技术
    大数据技术
    Intellij IDEA 解决 Maven 依赖下载慢的问题
    大数据技术
    QUdpSocket Class
  • 原文地址:https://www.cnblogs.com/sxypeace/p/4867425.html
Copyright © 2020-2023  润新知