Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在阅读一些代码,发现这一行:
public event EventHandler Lock = delegate { }
它有什么作用? 为什么有人会使用这样的一段代码?
通常你会这样做:
var handler = Lock; if (handler != null) handler(this, args);
使用空委托它永远不会为空,因此您只需 raise Lock(this, args);。
Lock(this, args);
使用空委托会产生少量性能成本,但您使用它是为了避免执行空测试。我认为它确实值得使用。此外,它更容易阅读代码:)