我有如下的模型类,

public class Station
{
    [DataMember (Name="stationName")]
    public string StationName;
    [DataMember (Name="stationId")]
    public string StationId;
}

我想使用属性名称获取DataMember的名称,即,如果我具有属性名称“StationName”,如何获取stationName

最佳答案

对您的类(class)稍作修改

[DataContract]
public class Station
{
    [DataMember(Name = "stationName")]
    public string StationName { get; set; }
    [DataMember(Name = "stationId")]
    public string StationId { get; set; }
}

然后这就是你如何得到它
 var properties = typeof(Station).GetProperties();
 foreach (var property in properties)
 {
    var attributes = property.GetCustomAttributes(typeof(DataMemberAttribute), true);
     foreach (DataMemberAttribute dma in attributes)
     {
         Console.WriteLine(dma.Name);
      }
  }

关于c# - 在C#中获取[DataMember]的名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20898181/

10-09 22:18