public class DoctorInfo
{
[DisplayName("form1[0].P1[0].Physician-Name[0]")]
public string ProviderFullName { get; set; }
}
如果手头有DisplayName,我如何以编程方式获取属性名称“ProviderFullName”?
答案 0 :(得分:0)
鉴于课程中DisplayName
你可以get all the PropertyInfo members,然后对其进行迭代,看看其中任何一个是否使用MemberInfo.GetCustomAttributes具有DisplayName
属性。
如果DisplayName
匹配,请使用MemberInfo.Name
property取回名称。
答案 1 :(得分:0)
您可以迭代属性和自定义属性 -
PropertyInfo[] properties = typeof(DoctorInfo).GetProperties();
foreach (PropertyInfo prop in properties)
{
object[] attrs = prop.GetCustomAttributes(true);
foreach (object attr in attrs)
{
DisplayNameAttribute displayName = attr as DisplayNameAttribute;
if (displayName != null)
{
var attributeName = displayName.DisplayName; // check if this matches what you want
string propertyName = prop.Name; }
}
}