0

私は基本クラスを持っています

[DataContract]
public class BaseRequest
{
    [DataMember]
    public Guid Key;

    [DataMember]
    public RequestType RequestType;


}

これを継承する多くのクラスがあり、継承した RequestType Enum を自動的に設定してほしい

[DataContract]
public class LoginRequest : BaseRequest
{
    [DataMember]
    public void LoginRequest()
    {
        this.RequestType = StationHouseWebServices.RequestType.Login;
    }

    [DataMember]
    public string Username;

    [DataMember]
    public string Password;
}

しかし、これは WCF DataContact であるため、私のサービス参照は、コンストラクターではなく、DataMembers のみを継承します。親の変数のデフォルト値を自動的に割り当てる方法はありますか? 何かのようなもの

this.RequestType = StationHouseWebServices.RequestType.Login;
4

1 に答える 1

1

コンストラクターは呼び出されないため、通常はコンストラクターで実行されるセットアップ コードを実行する便利な方法が WCF に用意されています。これは と呼ばれOnDeserializedAttributeます。

[OnDeserializedAttribute]
private void RunThisCode(StreamingContext context)
{ 
    ...
}

ここを参照してください: http://msdn.microsoft.com/en-us/library/system.runtime.serialization.ondeserializedattribute.aspx

于 2013-05-16T08:32:32.267 に答える