似乎不能在Unity c3中使用Func?

时间:2016-02-11 14:47:54

标签: c# .net unity3d mono

如果我试试这个

private System.Action blah;

它工作正常。出于某种原因

private System.Func blah;
  

Assets / scripts / objects / flite groups / MassiveExplisions.cs(130,24):error CS0234:类型或命名空间名称Func' does not exist in the namespace System'。你错过了装配参考吗?

我无法理解,为什么我不能使用Func?这是普通的最新Unity。

2 个答案:

答案 0 :(得分:2)

Action类型,因为它是封装不返回值的方法的方法。

没有名为Func的类型,因为它总是返回一些值,您需要指定其值的类型。例如Func<int>

答案 1 :(得分:0)

实际上,Func至少需要一个泛型类型作为委托的返回类型。

private System.Func<bool> simple;
private System.Func<bool, int, double> withParams;

用法:

bool result = simple();
bool result = withParams(10, 0.2);

如果您不需要返回类型,请使用Action