这是一个例子
如果函数定义为
public void DoSomething(int withValue) { }
可以通过创建函数中的委托
public void f() { Action<int> f2 = DoSomething; f2(3); }
如果将原始函数定义为,那该语法是怎样的
public void DoSomething(ref int withValue) { withValue = 3; }
delegate void RefAction<in T>(ref T obj); public void F() { RefAction<int> f2 = DoSomething; int x = 0; f2(ref x); }
.NET Framework不包含此类型的原因可能是因为ref参数不是很常见,如果为每个可能的组合添加一个委托类型,则所需类型的数量会爆炸.