シリアル化の問題で立ち往生しています。私の Silverlight アプリは、ビジネス オブジェクト内の私のプロパティの 1 つを想定しておらず、それに対して何をすべきかわかりません。以前は、以下の例のように KnownTypeAttribute を設定することでこれを解決しましたが、この場合は機能しません。
私は次のようにそれを解決するために使用しました:
[DataContract(Name = "baseClass")]
public class baseClass { }
[DataContract(Name = "busObj1")]
public class busObj1 : baseClass { }
[DataContract(Name = "busObj2")]
[KnownType(typeof(busObj1))]
public class busObj2 : baseClass
{
public busObj1 myObj { get; set; }
}
知っている唯一の違いは、次のように、構造がわずかに異なることです。
[DataContract(Name = "baseClass")]
public class baseClass { }
[DataContract(Name = "busObj1")]
public class busObj1 : baseClass { }
[DataContract(Name = "busObj2")]
[KnownType(typeof(busObj1))]
public class busObj2 : baseClass
{
public busObj1 myObj { get; set; }
}
// This is the class that I want to send via WCF and that cannot be serialized
// because the serializer doesn't expect busObj1.
[DataContract(Name = "busObj3")]
public class busObj3 : busObj2 { }
何が間違っているのかについてのアイデアにとても感謝しています!
よろしく、クラス