Qual padrão C # tem melhor desempenho para evitar manipuladores de eventos duplicados?

Existem basicamente dois padrões para evitar o registro duplicado de manipuladores de eventos: (De acordo com esta discussão:Padrão C # para impedir que um manipulador de eventos seja conectado duas vezes)

Usando o espaço para nome System.Linq e verifique se o manipulador de eventos está registrado chamandoGetInvocationList().Contains(MyEventHandlerMethod);

Faça o cancelamento de registro antes de se registrar, assim:

MyEvent -= MyEventHandlerMethod;
MyEvent += MyEventHandlerMethod;

Minha pergunta é, em termos de desempenho, qual é o melhor ou há uma diferença significativa entre eles no desempenho?

questionAnswers(4)

yourAnswerToTheQuestion