根据 () => func 创建函数
create function in line with () => func
我想在 unity 中创建一个简单的函数作为参数,像这样(在 c# 中):
Invoke((() => { alarm = true; }), 3 );
但这不能统一工作,它说:你不能将 lambda 表达式转换为字符串,因为 invoke 需要一个字符串。有什么解决办法吗?
阅读它,Invoke
需要 string
和 float
。它可能在下面使用了反射,所以它需要一个方法的字符串名称以便稍后调用。这意味着您不能传递委托或 lambda,而必须使用命名方法:
Invoke("SetAlarm", 3);
...
void SetAlarm() {
alarm = true;
}
参见:
我想在 unity 中创建一个简单的函数作为参数,像这样(在 c# 中):
Invoke((() => { alarm = true; }), 3 );
但这不能统一工作,它说:你不能将 lambda 表达式转换为字符串,因为 invoke 需要一个字符串。有什么解决办法吗?
阅读它,Invoke
需要 string
和 float
。它可能在下面使用了反射,所以它需要一个方法的字符串名称以便稍后调用。这意味着您不能传递委托或 lambda,而必须使用命名方法:
Invoke("SetAlarm", 3);
...
void SetAlarm() {
alarm = true;
}
参见: