readonlyAction 和 Method 都必须定义一次,但假设我将多次分配给 variableAction:
Action variableAction;
readonly Action readonlyAction;
void Method() {}
哪个更适合任务、只读委托或方法?我认为在一种情况下可能会发生一些优化,但也许还有语义问题需要考虑?
variableAction = readonlyAction;
variableAction = Method;
如果您是设置方法或操作(预编译)的人(如果您不这样做,您可能不会问这个),那么我会假设在性能方面没有很大差异。但是,如果你想要确切的答案,你应该看看 IL。无论如何,编译器可能只是为静态操作创建一个方法或内联。话虽如此,那时我会更关注可读性。试着想象一个新的开发者试图阅读代码,如果一种方式使它更难阅读,那么使用另一种方式......我个人可能会倾向于一种方法。可能应该为以下场景保留操作:
否则,Action
可能是在构造时传入的东西,所以你必须使用,Action
因为无论如何你直到运行时才知道实现。但是,我怀疑这就是你问的原因,因为Method
无论如何在这种情况下使用是不可能的。