C #: evento com explicitamente adicionar / remover! = Evento típico?

Eu declarei um manipulador genérico de eventos

public delegate void EventHandler();

para o qual eu adicionei o método de extensão 'RaiseEvent':

public static void RaiseEvent(this EventHandler self)        {
   if (self != null) self.Invoke();
}

Quando eu defino o evento usando a sintaxe típica

public event EventHandler TypicalEvent;

então eu posso chamar use o método de extensão sem problemas:

TypicalEvent.RaiseEvent();

Mas quando eu defino o evento com a sintaxe explícita de adicionar / remover

private EventHandler _explicitEvent;
public event EventHandler ExplicitEvent {
   add { _explicitEvent += value; } 
   remove { _explicitEvent -= value; }
}

então o método de extensão não existe no evento definido com a sintaxe explícita de adicionar / remover:

ExplicitEvent.RaiseEvent(); //RaiseEvent() does not exist on the event for some reason

E quando eu passo para o evento para ver a razão diz:

O evento 'ExplicitEvent' só pode aparecer no lado esquerdo de + = ou - =

Por que um evento definido usando a sintaxe típica deve ser diferente de um evento definido usando a sintaxe explícita de adicionar / remover e por que os métodos de extensão não funcionam no último?

EDIT: eu encontrei posso contornar isso usando o manipulador de eventos privados diretamente:

_explicitEvent.RaiseEvent();

Mas ainda não entendi porque não posso usar o evento diretamente como o evento definido usando a sintaxe típica. Talvez alguém possa me iluminar.

questionAnswers(4)

yourAnswerToTheQuestion