重复:如何确保事件仅订阅一次 并且已添加事件处理程序?
我有一个提供一些服务的单例,我的类挂钩到它上面的一些事件,有时一个类挂起两次事件然后被调用两次.我正在寻找一种经典的方法来防止这种情况发生.不知怎的,我需要检查一下我是否已经迷上了这个事件......
我想确保我只在特定的类中为一个实例上的事件订阅一次.
例如,我希望能够做到以下几点:
if (*not already subscribed*)
{
member.Event += new MemeberClass.Delegate(handler);
}
Run Code Online (Sandbox Code Playgroud)
我该如何实施这样的警卫?