属性を使用してDataContractシリアル化でクラスのプロパティの型の暗黙のキャストから文字列演算子を使用できるかどうかは誰でも知っていますか?例えばDataContractのDataMemberを文字列演算子への暗黙的キャストを使用
:
[DataContract]
public class Root
{
[DataMember]
public Element Member { get; set; }
}
public class Element
{
private string value;
private Element(string value)
{
this.value = value;
}
public static implicit operator string(Element element)
{
return element.value != null ? element.value : "";
}
public static implicit operator Element(string value)
{
if (Something()) return new Element(value);
throw new InvalidCastException()
}
}
を
ラース・エリック
達成しようとしていることは何ですか? – Nagg
システムが文字列を逆直列化して要素に戻すとはどうでしょうか? –
定義した2つの演算子を使用して暗黙的に前後に変換することが期待されます。これは、typeというDataMember属性のプロパティを持つほど簡単でした。 IE。 [DataMember(Type = typeof(string))] –