12
私はコレクションに追加するには、コンストラクタでは、非同期voidメソッドへの呼び出しを行い、ViewModelにしていRhinoのモック・スタブの非同期メソッド
public MyViewModel(ICommandHandler commandHandler)
{
_commandHandler = commandHandler;
SetupCollection();
}
private async void SetupCollection()
{
var commands = GetCommands();
foreach (var command in commands)
{
var response = await _commandHandler.ExecuteGetReply(command);
if (response != null)
Response.Add(response);
}
}
私は値を返すために_commandHandler.ExecuteGetReply()
コマンドをスタブする方法を正確に?
また、コンストラクタにこのような機能を持たせても問題ありませんか?または、これはおそらく... override void OnActivate()
コール(私はCaliburn Microを使用しています)?それは持っていたときに通知を受ける方法がないだろうので、私は、しかし、あなたのコンストラクタから非同期voidメソッドを呼び出すことはありません
ICommand commandArg;
Response response;
stubHandler.Stub(h => h.ExecuteGetReply(commandArg)).Return(Task.FromResult(response));
:
'commandHandler.ExecuteGetReply'が例外をスローするとどうなりますか? –