【发布时间】:2017-09-12 23:23:04
【问题描述】:
我的项目有这个 BookDetails 属性:
public enum Books
{
[BookDetails("Jack London", 1906)]
WhiteFange,
[BookDetails("Herman Melville", 1851)]
MobyDick,
[BookDetails("Lynne Reid Banks", 1980)]
IndianInTheCupboard
}
这里的属性代码:
[AttributeUsage(AttributeTargets.Field)]
public class BookDetails : Attribute
{
public string Author { get; }
public int YearPublished { get; }
public BookDetails(string author, int yearPublished)
{
Author = author;
YearPublished = yearPublished;
}
}
我如何获得给定书籍的作者?
试过这个乱七八糟的代码,但没有用:
var author = Books.IndianInTheCupboard.GetType().GetCustomAttributes(false).GetType().GetProperty("Author"); // returns null
谢谢,肯定有比我上面尝试的更好的方法。
【问题讨论】:
标签: c# reflection attributes custom-attributes