本文整理汇总了C#中AsyncOperation.ToSerializableCallback方法的典型用法代码示例。如果您正苦于以下问题:C# AsyncOperation.ToSerializableCallback方法的具体用法?C# AsyncOperation.ToSerializableCallback怎么用?C# AsyncOperation.ToSerializableCallback使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AsyncOperation
的用法示例。
在下文中一共展示了AsyncOperation.ToSerializableCallback方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: OperationShouldUseDelegateToConvertCallbackToSerializable
public void OperationShouldUseDelegateToConvertCallbackToSerializable()
{
var operation = new AsyncOperation<bool>();
var action = new Action<IOperationResult>(op => { });
var actionGeneric = new Action<IOperationResult<bool>>(op => { });
var func = new Func<IOperationResult, object>(op => null);
var funcGeneric = new Func<IOperationResult<object>, bool>(o => true);
var delegates = new List<Delegate> { action, actionGeneric, func, funcGeneric };
operation.ContinueWith(continuationFunction: func)
.ContinueWith(funcGeneric)
.ContinueWith(actionGeneric)
.ContinueWith(action);
OperationCallbackFactory.CreateSerializableCallback = @delegate =>
{
delegates.Remove(@delegate).ShouldBeTrue();
return new SerializableCallbackMock();
};
operation.ToSerializableCallback().ShouldNotBeNull();
delegates.ShouldBeEmpty();
}
示例2: OperationShouldUseDelegateToCreateMethodChainSerializableCallback
public void OperationShouldUseDelegateToCreateMethodChainSerializableCallback()
{
var operation = new AsyncOperation<bool>();
bool isFuncInvoked = false;
bool isFuncGenericInvoked = false;
bool isActionGenericInvoked = false;
bool isActionInvoked = false;
var func = new Func<IOperationResult, object>(op =>
{
isFuncInvoked = true;
return operation;
});
var funcGeneric = new Func<IOperationResult<object>, bool>(o =>
{
isFuncGenericInvoked = true;
o.Result.ShouldEqual(operation);
return true;
});
var actionGeneric = new Action<IOperationResult<bool>>(op =>
{
isActionGenericInvoked = true;
op.Result.ShouldBeTrue();
});
var action = new Action<IOperationResult>(op =>
{
isActionInvoked = true;
});
operation.ContinueWith(continuationFunction: func)
.ContinueWith(funcGeneric)
.ContinueWith(actionGeneric)
.ContinueWith(action);
OperationCallbackFactory.CreateSerializableCallback = @delegate =>
{
Func<IOperationResult, object> invoke = result => @delegate.DynamicInvoke(result);
return new SerializableCallbackMock() { Invoke = invoke };
};
operation.ToSerializableCallback()
.Invoke(OperationResult.CreateResult(OperationType.PageNavigation, this, true));
isFuncInvoked.ShouldBeTrue();
isFuncGenericInvoked.ShouldBeTrue();
isActionGenericInvoked.ShouldBeTrue();
isActionInvoked.ShouldBeTrue();
}