我有这样的代码......
var x = inv.InvokeProxy<ServiceClient, AnotherType, ReturnType>(
p => p.execute(input), guid);
我要做的是将所有上述代码封装到包含指定类型的委托中。
然后我想创建另一个方法来实际调用上面的方法。像这样......
Func<a,b> func = delegate()
{
.... 1st code sample inserted here ...
}
然后我需要将func传递给另一个将调用它的方法,例如
protected TReturn InvokeDelegate<TReturn>(Func<> functionObject)
{
return functionObject.Invoke();
}
有谁知道如何做到这一点?
答案 0 :(得分:2)
这实际上非常简单:
Func<TypeOfInput, Guid, TypeOfX> func = (input, guid) =>
inv.InvokeProxy<ServiceClient, AnotherType, ReturnType>(
p => p.execute(input), guid);
执行它:
TypeOfInput yourInput = ...;
Guid yourGuid = ...;
TypeOfX x = func(yourInput, yourGuid);