Mud*_*sir 6 delegates func c#-4.0
我有一个方法签名
bool TryGetItem(string itemKey,out Item item)
Run Code Online (Sandbox Code Playgroud)
我如何封装这个签名
delegate V Func<T,U,V>(T input, out U output)
Run Code Online (Sandbox Code Playgroud)
如在帖子中:Func <T>没有参数?
你刚才写的答案.
如果您在.net 4.0或更高版本中,则可以指定参数的方差.
public delegate TV MyFunc<in T, TU, out TV>(T input, out TU output);
Run Code Online (Sandbox Code Playgroud)
然后使用:
bool TryGetItem(string itemKey,out Item item);
MyFunc<string, Item, bool> func = TryGetItem;
Run Code Online (Sandbox Code Playgroud)