C# 如何创建调用另一个泛型方法的委托的方法
本文关键字:泛型方法 另一个 方法 调用 何创建 创建 | 更新日期: 2023-09-27 17:56:00
我有这样的代码....
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();
}
有谁知道这是怎么做到的?
这实际上非常简单:
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);