1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | public class testDescrible { int _tt; [Description( "123" )] public int ttt { get { return _tt; } set { _tt = value; } } [Description( "测试1" )] public void TTT() { } [Description( "测试2" )] public void TTT( int A) { } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | testDescrible tst = new testDescrible(); Type t = tst.GetType(); var attributesww = TypeDescriptor.GetProperties(t); //方法遍历,遍历实体类的相关public方法,不包含继承的相关方法 foreach (System.Reflection.MemberInfo p in t.GetMethods(System.Reflection.BindingFlags.Instance| System.Reflection.BindingFlags.Public| System.Reflection.BindingFlags.DeclaredOnly)) { object [] Attribute1 = p.GetCustomAttributes( typeof (DescriptionAttribute), true ); //只获取DescriptionAttribute的特性 object [] Attribute1123 = p.GetCustomAttributes( false ); //if (Attribute1.Length > 0) //{ // DescriptionAttribute myAttribute = (DescriptionAttribute)Attribute1[0]; // string aaa = myAttribute.Description; //} //object[] Attribute2 = p.GetCustomAttributes(typeof(QuickWebApiAttribute), false); } //属性遍历 foreach (System.Reflection.PropertyInfo pi in t.GetProperties()) { AttributeCollection attributes = TypeDescriptor.GetProperties(t)[pi.Name].Attributes; DescriptionAttribute myAttribute = (DescriptionAttribute)attributes[ typeof (DescriptionAttribute)]; string describle = myAttribute.Description; } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步