質問

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サービスは機能します...

ありがとう、パウエル

役に立ちましたか?

解決

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top