0

このような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; }
    }
}
4

2 に答える 2

1

ComplexObject で ChildObjects プロパティを公開したくない場合は、DataMember 属性を削除する必要があります。ChildObjects を必要とする別のユースケースがある場合は、それを持つ別の ComplextObject を用意することをお勧めします。コントラクト定義に違反するため、実行時にオンまたはオフに切り替えることはできません。

于 2013-03-15T03:34:04.603 に答える