小编典典

功能没有参数

all

我可以将带有 out 参数的方法作为 Func 传递吗?

public IList<Foo> FindForBar(string bar, out int count) { }

// somewhere else
public IList<T> Find(Func<string, int, List<T>> listFunction) { }

Func 需要一个类型,所以 out 不会在那里编译,调用 listFunction 需要一个 int 并且不允许 out in。

有没有办法做到这一点?


阅读 71

收藏
2022-07-28

共1个答案

小编典典

ref并且out不是类型参数定义的一部分,因此您不能使用内置Func委托来传递refout参数。当然,您可以根据需要声明自己的委托:

delegate V MyDelegate<T,U,V>(T input, out U output);
2022-07-28