6

DataContract 属性のないクラスの違いは何ですか:

public class BankOperationResult
{        
    public int CurrentAmount { get; set; }
    public bool Success { get; set; }
}

および DataContract 属性を持つ同じクラス:

[DataContract]
public class BankOperationResult
{        
    [DataMember]
    public int CurrentAmount { get; set; }
    [DataMember]
    public bool Success { get; set; }
}

つまり、エンコードなどの際に、WCF はこれら 2 つの型を異なる方法で処理しますか?

これらの属性の有無にかかわらず、私の WCF サービスは機能します...

ありがとう、パヴェル

4

1 に答える 1

10

.NET 3.5 SP1 より前では、プロパティを DataMember 属性でマークしなかった場合、プロパティは WSDL で公開されず、シリアル化されませんでした。.NET 3.5 SP1 以降、DataContractSerializerにはすべてのパブリック プロパティが自動的に含まれるため、この属性でそれらを装飾する必要がなくなりました。

于 2009-11-27T22:15:33.660 に答える