假设我有这个课程:
public class Function {
public int argc; //number of arguments of the function
public float[] argv;
public Func<float> f; //attribute to store a function (e.g. Sin(x) or Pow(a,b))
}
我想创建包含不同功能的Function
实例,例如Sin(x)
或Pow(a,b)
,但是我不知道如何绑定现有函数(带有任意数量的参数) )到Func
。显然,其声明并不总是Func<float>
,而是Func<float,float>
,Func<float,float,float>
等。
我一直在寻找Func
,delegate
,action
,但仍然不知道如何拥有可以容纳和执行不同数量功能的“功能胶囊”论点。为简单起见,我认为唯一的输入和输出类型是float
。
我正在考虑使用Func<List<float>>
之类的东西,但我想知道是否有更好的选择。