我有课Car
public class Car
{
private Member _owner;
public string OwnerName
{
get { return _owner.Name; }
}
public Car(Member owner)
{
_owner = owner;
}
}
我在 Silverlight 应用程序和 wcf 服务中都使用它
所以,在应用程序中我调用 WCF 服务给我汽车类的实例,但是当我在应用程序中得到它时,我看到
_owner
是空的。我知道它是因为私有(private)而为空的,但是我该如何处理呢?
如果有帮助,我将在我的应用程序中使用此类作为模型(MVVM):/
最佳答案
首先,您的所有属性都没有标记为 DataMembers。该类未标记为 DataContract。如果这是从 WCF 服务返回的,我希望看到:
[Serializable]
[DataContract]
public class Car
{
private Member _owner;
[DataMember]
public string OwnerName
{
//getter
//setter
}
etc..
}
成员(member)必须是私有(private)的吗?可以转化为属性(property)吗?
请记住,[DataMember] 属性既需要 set 也需要 get(以便 WCF 可以读入和读取对象)。
http://msdn.microsoft.com/en-us/library/ms733127.aspx
关于wcf - 通过带有私有(private)字段的 wcf 服务发送对象的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7346486/