给定这样的 WCF 接口定义,是否有办法从 ComplexObject 响应值中排除属性?
我想排除 ChildObjects 属性。我不想从属性定义中删除 DataMember 属性,因为我需要在另一种情况下将其序列化。
[ServiceContract]
public interface IComplexObjectService
{
[OperationContract]
ComplexObject Test(int a);
}
ComplexObject 的定义如下:
[DataContract(IsReference = true)]
public class ComplexObject
{
[DataMember]
public long ObjectCode
{
get { return _ObjectCode; }
set { _ObjectCode = value; }
}
[DataMember]
public List<ComplexObject> ChildObjects
{
get { return _ComplexObject; }
set { _ComplexObject = value; }
}
}
如果您不想公开 ComplexObject 中的 ChildObjects 属性,则必须删除 DataMember 属性。如果您有另一个需要 ChildObjects 的用例,那么我建议您有一个单独的 ComplextObject,它确实拥有它。您不能只在运行时打开或关闭它,因为这会违反合同定义。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)