TransactionOperator
次の静的非同期メソッドを公開するクラスがあります。
public static async Task<bool> ProcessTransactionAsync(Transaction transaction)
{
var someTransactionOperator = ...; // get appropriate operator
// some code here
bool success = await someTransactionOperator.Process(transaction);
// some more code
return bool;
}
Transaction
ここで、クラスにラッパー インスタンス メソッドを提供したいと思います。私の質問は、それを書く正しい/推奨される方法はどれでしょうか? 正しいと感じるので、私は#2に傾いていますが、その選択を支持する議論はありません.
// Option 1
public bool ProcessAsync()
{
return TransactionOperator.ProcessTransactionAsync(this).Result;
}
// Option 2
public Task<bool> ProcessAsync()
{
return TransactionOperator.ProcessTransactionAsync(this);
}
// Option 3 (compiler warning because there's no 'await' operator)
public async Task<bool> ProcessAsync()
{
return TransactionOperator.ProcessTransactionAsync(this).Result;
}
// Option 4
public async Task<bool> ProcessAsync()
{
return await TransactionOperator.ProcessTransactionAsync(this);
}