10

作業中のアプリケーションですべての API トランザクションを処理するクラスがあります。メソッドの概要は次のようになります。

public static async Task<bool> APICall(int bla)
        {
            HttpResponseMessage response;
            bool res;

            // Post/GetAsync to server depending on call + other logic
            return res;
        }

私がやりたいことは、response.StatusCode を呼び出し元に返すこともできるようにすることですが、非同期メソッドで「out」パラメーターを使用することは許可されていないため、少し複雑になります。

ブール値と応答コードの両方を含むタプルを返すことを考えていましたが、これを行うより良い方法はありますか?

4

2 に答える 2

11

ブール値と応答コードの両方を含むタプルを返すことを考えていましたが、これを行うより良い方法はありますか?

結果を保持する特定のクラスを作成できます。個人的にはタプルはあまり好きではありませItem1Item2

class APICallResult
{
    public bool Success { get; set; }
    public HttpStatusCode StatusCode { get; set; }
}

    public static async Task<APICallResult> APICall(int bla)
    {
        HttpResponseMessage response;
        bool res;

        // Post/GetAsync to server depending on call + other logic
        return new APICallResult { Success = res, StatusCode = response.StatusCode };
    }
于 2013-08-08T07:46:05.330 に答える