根据 () => func 创建函数

create function in line with () => func

我想在 unity 中创建一个简单的函数作为参数,像这样(在 c# 中):

Invoke((() => { alarm = true; }), 3 );

但这不能统一工作,它说:你不能将 lambda 表达式转换为字符串,因为 invoke 需要一个字符串。有什么解决办法吗?

阅读它,Invoke 需要 stringfloat。它可能在下面使用了反射,所以它需要一个方法的字符串名称以便稍后调用。这意味着您不能传递委托或 lambda,而必须使用命名方法:

Invoke("SetAlarm", 3);

...

void SetAlarm() {
   alarm = true;
}

参见: