c#WCF反序列化问题

c#WCF反序列化问题,c#,wcf,serialization,C#,Wcf,Serialization,具有由以下类组成并由服务器端(WCF)和客户端(Windows应用程序)应用程序共享的类库: [DataContract] public class A { public A() { } [DataMemeber] public int A1 { get; set; } [DataMemeber] public string A2 { get; set; } } [DataContract] public class B {

具有由以下类组成并由服务器端(WCF)和客户端(Windows应用程序)应用程序共享的类库:

[DataContract]
public class A
{
    public A()
    {

    }

    [DataMemeber]
    public int A1 { get; set; }

    [DataMemeber]
    public string A2 { get; set; }
}

[DataContract]
public class B
{
    public B()
    {

    }

    [DataMemeber]
    public int B1 { get; set; }

    [DataMemeber]
    public string B2 { get; set; }

    [DataContract]
    public A B_A { get; set; }
}
若我只请求类B的对象,它将返回错误,因为属性B_A为NULL(实际上,属性B_A在服务器端不为NULL),并且它无法在客户端反序列化。混淆之处在于,我认为WCF应该考虑到这一点,就像有任何其他对象需要一样,它也会自动序列化。有什么想法吗


谢谢您的帮助。

您应该用
DataMember

因此:

[DataContract]
public A B_A { get; set; }
应该是:

[DataMember]
public A B_A { get; set; }

抱歉,输入错误,已标记为DataMember@Tim,实际上它应该可以工作,mb一些依赖项或您的类在f.e.中包含异常,共享真实代码