我想创建一个协程列表,以便在将来启动。如何在列表中存储这些函数?
假设我们有类似的功能:
IEnumerator Example() {
while (true) {
yield return new WaitForFixedUpdate();
}
}
我们无法将其存储在类似List<Func<IEnumerator >> list
之类的内容中,但我们遇到编译器错误,如:
Error 1 The best overloaded method match for 'System.Collections.Generic.List<System.Func<System.Collections.IEnumerator>>.Add(System.Func<System.Collections.IEnumerator>)' has some invalid arguments
当我们打电话
list.Add(Example);
或者如果我们使用List<Example> list
,我们就没有编译错误,但是
if (disposeActions.Any()) {
yield return StartCoroutine(list[0]); //here we get null exception
disposeActions.RemoveAt(0);
}
所以我想知道如何创建一个列表来存储IEnumerator函数并能够将它的项目发送给coutines?
答案 0 :(得分:2)
你的问题很难理解,但也许你正在寻找这样的东西:
var listOfFunctions = new List<Func<T, TResult>>();