将函数存储在Unity3D中的List或Array中

时间:2013-06-23 21:19:09

标签: c# methods dictionary unity3d

我试图加载不同的函数而不使用很多if语句(C#)。我尝试使用列表,但是使用Action向Unity引发异常。 我在这里找到了一个很好的解决方案:

var methods = new Dictionary<string, Action>()
          {
              {"method1", () => method1() },
              {"method2", () => method2() }
          };

methods["method2"]();

此处与Action

相同

我导入了

using System.Collections.Generic;

我想念什么?

1 个答案:

答案 0 :(得分:1)

System.Collections.Generic的{​​{1}}外,您还需要为Dictionary导入System

Action添加到文件顶部。

通常,在MSDN上查找类型以查看其完整名称空间。在这种情况下,Action delegate的MSDN页面表明其名称空间是&#34; System&#34;。因此,您必须在代码顶部添加using System;指令或在代码中包含完整的命名空间。例如,如果你有:{/ p>,你可以在没有using System;指令的情况下重写上面的代码

using