2017-03-28 12 views
0

は、私は次のC#の簡単なコードを持って更新request.ResponseError.ErrorDescriptionは「新に等しいなぜC#メソッドのパラメータが間違って

var request = new Request 
{ 
    RequestError = new Error() 
    { 
     ErrorCode = "Request Error Code", 
     ErrorDescription = "Request Error Description" 
    } 
}; 

var service = new Service(); 
var response = service.Process(request); 
Debug.WriteLine("request ErrorDescription = " + request.RequestError.ErrorDescription); 

レスポンスの説明 ";リクエストオブジェクトを更新していないので、out/refで呼び出されません。私は返す応答オブジェクトのみを更新します。

私は間違っていますか?これが問題の始まりです

おかげで

+0

バリュータイプとリファレンスタイプの詳細についてhttp://www.albahari.com/valuevsreftypes.aspx – Steve

答えて

14

: - その行の後に、あなたの応答をし、両方が同じオブジェクトを参照要求

ResponseError = request.RequestError; 

あなたは、単一のErrorのオブジェクトを持っています。 Errorはクラスなので、Request.RequestErrorResponse.ResponseErrorの値は参考になることに注意してください。

はその後、ここにオブジェクトを変更:あなたはまだ完全には理解していない場合、あなたは私のarticle on references and valuesを読みたいかもしれません

r.ResponseError.ErrorDescription = "New Response Description"; 

関連する問題