コード例 #1
0
    public void ExecuteAsync()
    {
        var tcs = new TaskCompletionSource <bool>();
        var cmd = new AsyncReactiveCommand().WithSubscribe(async() =>
        {
            await tcs.Task;
        });

        Task taskForExecuteAsync = cmd.ExecuteAsync();

        taskForExecuteAsync.IsCompleted.IsFalse();
        tcs.SetResult(true);
        taskForExecuteAsync.IsCompleted.IsTrue();
    }
コード例 #2
0
    public void ExecuteAsyncForGeneric()
    {
        var tcs = new TaskCompletionSource <bool>();
        var expectedCommandParameter = new object();
        var actualCommandParameter   = default(object);
        var cmd = new AsyncReactiveCommand <object>().WithSubscribe(async x =>
        {
            actualCommandParameter = x;
            await tcs.Task;
        });

        Task taskForExecuteAsync = cmd.ExecuteAsync(expectedCommandParameter);

        taskForExecuteAsync.IsCompleted.IsFalse();
        tcs.SetResult(true);
        taskForExecuteAsync.IsCompleted.IsTrue();
        actualCommandParameter.IsSameReferenceAs(expectedCommandParameter);
    }