2010-01-15 53 views
0

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

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

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

     } 

但我想要有自定义名称。我不想在结果中输入“姓氏”,而选择“姓氏”。我不熟悉asp.net属性。

回答

3

创建一个属性类:

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

与属性

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

与反思装饰你的属性,你可以得到这些属性是这样的:

var attr = (PropertyNameAttribute)propInfo.GetCustomAttributes(typeof(PropertyNameAttribute), false).Single(); 
相关问题