デリゲートを使用するだけで「event」キーワードを使用せずに同じことができるのに、イベントを定義するときに「event」キーワードが必要な理由がわかりません。
例えば
public delegate void CustomEventHandler(int a, string b);
public event CustomEventHandler customEvent;
customEvent += new CustomEventHandler(customEventHandler);
customEvent(1,"a"); // Raising the event
ここで、2行目から「event」キーワードを削除すると、デリゲートを呼び出してイベントを発生させることもできます。このイベントのキーワードが必要な理由を誰か教えてください。