我有一些简单的代码,但我正在努力找出正确的语法来将方法作为引用返回,以便可以使用。
这就是我想要做的:
public static Func<float> GetFunction(Functions functions)
{
switch (functions)
{
case Functions.Linear: return // how do i return the func here?
break;
default: return null;
}
}
public static float Linear(float k) // am trying to return this
{
return k;
}
然后我的想法是我将能够做类似的事情:
Func<float> func = GetFunction(Functions.Linear);
print func(10);
不过我不确定如何创建返回。
最佳答案
委托(delegate)给 float Linear(float k)
,一个接受 float
的函数论证并有一个float
返回值,通用 Func<float, float>
必须使用委托(delegate)代替 Func<float>
, 它封装了一个不带参数并返回 float
的函数.如:
public static Func<float, float> GetFunction(Functions functions)
{
switch (functions)
{
case Functions.Linear: return Linear;
break;
default: return null;
}
}
public static float Linear(float k) // am trying to return this
{
return k;
}
关于c# - 如何使用 Func<> 返回方法的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51164715/