次のコードがあります。私のメソッドには文字列の戻り値の型があります。リアクティブエクステンション - 変数がいっぱいになるまでフローを停止
public string GetRedemeptionNumber()
{
string _batchNumber = "test";
var _loadBatchName = Observable.ForkJoin(_context.QuerySingleOrDefault(
_context.GetRedemptionsQuery().Where(x => x.ReceiveBatchName.StartsWith(_batchNumber))
.OrderByDescending(x => x.ReceiveBatchName)
.Take(1)))
.Do(u => _redemptionBatch = u.FirstOrDefault())
.Select(x => new Unit())
.Finally(() =>
{
_batchNumber = _redemptionBatch.Name;
//this doesnt work since a return isnt allowed
return _batchNumber;
}
});
_loadBatchName.Subscribe();
return _batchNumber;
}
私の問題は、これが実行され、設定される前に_batchNumberを返すことです。空の_batchNumberが返されます。これが私の.finallyの外に戻り、_batchNumberが私の.finallyの中から満たされるのを待つことを止める方法はありますか?
私のコードでは、私の.finallyが返却を許可していないので、今は明らかに機能しません。
実際にここで何をしたいのですか?たぶんあなたの代わりにあなたは集計をしたいですか? –
_batchNumberはメソッドの初期に設定されています。このコードは最後に設定する前に_batchNumberの戻り値まで実行されます。私が望むのは、メソッドの最後にあるreturn _batchNumberの前に実行が停止することです。私は集計が何をするのか正確にはわかりません。 – gevjen
私は、このコードの目標を説明しています - *シナリオは何ですか? –