本文介绍了C#Func(T)不接受ref类型输入参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
Func(T)接受C#中的引用类型变量。
Can Func(T) accepts the reference type variables in C#.
static void Main()
{
Func<string,int, int> method = Work;
method.BeginInvoke("test",0, Done, method);
// ...
//
}
static int Work(ref string s,int a) { return s.Length; }
static void Done(IAsyncResult cookie)
{
var target = (Func<string, int>)cookie.AsyncState;
int result = target.EndInvoke(cookie);
Console.WriteLine("String length is: " + result);
}
我不能定义一个可以接受ref类型输入参数的func。任何人请启发...
I am not able define a func which can accept the ref type input parameter. Anybody please enlighten...
推荐答案
Func< T>
不能使用 ref
参数。
您需要创建自己的委托类型,它需要 ref
参数。
The Func<T>
delegates cannot take ref
parameters.
You need to create your own delegate type which takes ref
parameters.
但是,你不应该首先使用 ref
。
However, you shouldn't be using ref
here in the first place.
这篇关于C#Func(T)不接受ref类型输入参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!