使用
typeof(Book).GetProperties()获得的阵列
PropertyInfo实例。然后
GetCustomAttributes()对每个对象使用,
PropertyInfo以查看它们是否具有
AuthorAttribute类型。如果这样做,则可以从属性信息中获取属性的名称,并从属性中获取属性值。
沿着这些思路进行一些 *** 作,以扫描类型以查找具有特定属性类型的属性,并在字典中返回数据(请注意,可以通过将类型传递给例程来使其更加动态):
public static Dictionary<string, string> GetAuthors(){ Dictionary<string, string> _dict = new Dictionary<string, string>(); PropertyInfo[] props = typeof(Book).GetProperties(); foreach (PropertyInfo prop in props) { object[] attrs = prop.GetCustomAttributes(true); foreach (object attr in attrs) { AuthorAttribute authAttr = attr as AuthorAttribute; if (authAttr != null) { string propName = prop.Name; string auth = authAttr.Name; _dict.Add(propName, auth); } } } return _dict;}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)