c# -如何传递一个需要out变量的函数的引用?
本文关键字:变量 out 函数 引用 一个 何传递 | 更新日期: 2023-09-27 18:03:04
public class Foo
{
public void DoFoo()
{
int x;
var coll = TheFunc("bar", out x);
}
public Func<string, int, ICollection<string>> TheFunc { get; set; }
}
错误:"参数2不应与'out'关键字一起传递。"
public class Foo
{
public void DoFoo()
{
int x;
var coll = TheFunc("bar", out x);
}
public Func<string, out int, ICollection<string>> TheFunc { get; set; }
}
错误:"无效的方差修改符。只有接口和委托类型参数可以指定为变量。"
如何在此函数中获得out参数?
定义委托类型:
public delegate ICollection<string> FooDelegate(string a, out int b);
public class Foo
{
public void DoFoo()
{
int x;
var coll = TheFunc("bar", out x);
}
public FooDelegate TheFunc { get; set; }
}
你需要创建自己的委托:
delegate ICollection<string> MyFunc(string x, out int y);