从Class中检索DisplayName属性

时间:2017-03-23 02:43:32

标签: c#

所以我在测试中有这段代码

[TestMethod]
public void GetClassDisplayName()
{
    string displayName = DisplayNameHelper.GetDisplayName<ApplicantInfoJob>();

    Assert.AreEqual(displayName, "APPLICANT_INFO_JOB");

}

和辅助类中的代码

 public static string GetDisplayName<T>()
 {
     var displayName = (DisplayNameAttribute)typeof(T).GetCustomAttributes(typeof(DisplayNameAttribute), true).FirstOrDefault();

     if (displayName != null)
         return displayName.DisplayName;
     return "";
 }

但是displayName总是为null然后使用typeof(T)但是如果我把它改成

就可以正常工作
var displayName = (DisplayNameAttribute)typeof(ApplicantInfoJob).GetCustomAttributes(typeof(DisplayNameAttribute), true).FirstOrDefault();`

我不确定为什么这种类型不起作用。有人有什么想法吗?

班级签名:

[DisplayName("APPLICANT_INFO_JOB")]
public class ApplicantInfoJob : RequiredDatesBaseEntity
{
}

0 个答案:

没有答案