我正在使用 .NET WebAPI 来构建自定义 API。我要做的是在运行时动态更改属性数据成员名称。我知道我可以使用 DataMember(Name="whateverId") 覆盖名称,但我希望能够动态更改它。
请参阅下面的示例。该类有一个 id 和一个 name 字段。有时我可能希望它显示为“eventId”和“name”。其他时候我可能希望它是“subEventId”和“name”。
任何想法如何动态地做到这一点。
[DataContract(Namespace = "", Name = "pair")]
public class idName
{
[DataMember(EmitDefaultValue = false]
[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
public int? id { get; set; }
[DataMember(EmitDefaultValue = false)]
[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
public string name { get; set; }
public idName()
{
}
public idName(int? id, string name, string serializeIdName = "id")
{
this.id = id;
this.name = name;
}
}
我可以在代码中创建一个新的 datamemberattribute,但我不知道下一步该做什么。
var dma = new DataMemberAttribute();
dma.Name = "whateverId";
谢谢!