<分区>
Func<a, out b, bool>
,只是不编译,如何声明我希望第二个参数是 out
一个?
我想这样使用它:
public class Foo()
{
public Func<a, out b, bool> DetectMethod;
}
<分区>
Func<a, out b, bool>
,只是不编译,如何声明我希望第二个参数是 out
一个?
我想这样使用它:
public class Foo()
{
public Func<a, out b, bool> DetectMethod;
}
最佳答案
实际上,Func 只是在 .NET Framework 中声明的一个简单委托(delegate)。实际上,那里声明了几个 Func 代表:
delegate TResult Func<TResult>()
delegate TResult Func<T, TResult>(T obj)
delegate TResult Func<T1, T2, TResult>(T1 obj1, T2 obj2)
delegate TResult Func<T1, T2, T3, TResult>(T1 obj1, T2 obj2, T3 obj3)
delegate TResult Func<T1, T2, T3, T4, TResult>(T1 obj1, T2 obj2, T3 obj3, T4 obj4)
delegate TResult Func<T1, T2, ... , T16, TResult>(T1 obj1, T2 obj2, ..., T16 obj16)
所以你唯一能做的就是声明你的自定义委托(delegate):
delegate bool MyFunc<T1, T2>(T1 a, out T2 b)
关于c# - 如何声明带有 out 参数的通用委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2448010/
相关文章:
c# - 在转发器链接按钮中将对象作为 CommandArguement 传递
c# - 自定义控件 Entity Framework 绑定(bind)
c# - DataContractSerializer 中缺失数据成员的默认值
.net - DataGridView 何时从自定义 EditingControl 获取其值?
java - 将通用 java 类型保存/加载到 postgresql 数据库列
c# - 将列表传递给 RootElement c# 中的部分
java - 为什么 PropertyDescriptor 和 Reflection 在 1.7 中与在 1.6 中对于泛型的工作效果不同?