.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";
ありがとう!