C #: evento con explicidad agregar / eliminar! = Evento típico?

He declarado un controlador de eventos genérico.

public delegate void EventHandler();

A la que he añadido el método de extensión 'RaiseEvent':

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

Cuando defino el evento usando la sintaxis típica

public event EventHandler TypicalEvent;

entonces puedo llamar usar el método de extensión sin problemas:

TypicalEvent.RaiseEvent();

Pero cuando defino el evento con explícita agregar / eliminar sintaxis

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

entonces el método de extensión no existe en el evento definido con sintaxis explícita de agregar / eliminar:

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

Y cuando me desplazo al evento para ver la razón, dice:

El evento 'ExplicitEvent' solo puede aparecer en el lado izquierdo de + = o - =

¿Por qué un evento definido con la sintaxis típica debe ser diferente de un evento definido con la sintaxis de agregar / eliminar explícita y por qué los métodos de extensión no funcionan en esta última?

EDITAR: encontré que puedo solucionarlo usando el controlador de eventos privados directamente:

_explicitEvent.RaiseEvent();

Pero aún no entiendo por qué no puedo usar el evento directamente como el evento definido usando la sintaxis típica. Tal vez alguien me puede iluminar.

Respuestas a la pregunta(4)

Su respuesta a la pregunta