我一直在玩代表,活动和匿名方法。这样做有一点变得非常清楚。在构造函数中注册事件?
它不简化在构造函数中注册任何事件方法或委托函数的过程吗?
我的测试显示它的工作原理,它可以防止你必须在实例化后声明它们(因为对象的构造函数为你做)。
其实这个表现还是不错的。在构造/实例化对象时使用“this”关键字引用当前对象有什么缺点吗?
这似乎对我很有意义,因为所有的事件都会在实例化时被连接起来。
这有可能是一个问题吗?
例子:
//Constructor
public SayHello()
{
_name = "Unnamed";
_isUpdated = false;
// Register event handler via lambda (ananymous method shorthand)
this.NameChanged += (object sender, EventArgs e) => { Console.WriteLine(e.message)); };
}
妮可,优秀点。这正是我所期待的。我的直觉告诉我,增加的简化可能是有问题的(因此后)。在测试中,事情可能很好,但在生产中,墨菲的定律将会生效......概率上,任何可能发生的事情都会给予足够的时间。鉴于此,如果所述应用程序是多线程的(如服务或Web门户),则会在某个时间点发生竞争争用。谢谢。 – Qubits