委托怎么在传递参数的时候加out呢?
new Func<int,out int, int>这样写报错,应该怎么写呢?
[解决办法]
Func不能这么写,不能加out修饰
[解决办法]
Func 是有返回值的泛型委托
Func<in,out>
Func<in,in,out> FCL提供最多16个泛型个数
最后一个是返回值,你如果需要的是返回值,那给最后一个泛型就可以了
[解决办法]
- C# code
public delegate int fun(out int a);var FUN = new fun((out int tt) => { tt = 100; return 200; });int a = 0;int b = FUN(out a);/*a = 100, b = 200*/