类属性的自定义名称是否有任何属性?

时间:2010-01-15 07:47:42

标签: asp.net

类属性的自定义名称是否有任何属性?

我现在使用反射来获取属性名称。

        PropertyInfo[] propInfos = typeof(T).GetProperties();
        for (int i = 0; i <= propInfos.Length - 1; i++)
        {
            sb.Append(propInfos[i].Name);
            .....

         }

但我希望有自定义名称。我不想在我的结果中使用“姓氏”而是“​​姓氏”。我不熟悉asp.net属性。

1 个答案:

答案 0 :(得分:3)

创建属性类:

[AttributeUsage(AttributeTargets.Property)]
public class PropertyNameAttribute : Attribute
{
    public PropertyNameAttribute(string name) { ... }
    ...
}

使用该属性装饰属性

[PropertyName("Last Name")]
public string LastName {get;set;}

使用Reflection,您可以通过这种方式获取这些属性:

var attr = (PropertyNameAttribute)propInfo.GetCustomAttributes(typeof(PropertyNameAttribute), false).Single();