События null
, когда никто не подписался. К счастью, современный C# делает это простым:
ClickEvent?.Invoke(this, args);
В более старых языковых версиях вам нужно быть более многословным:
var handler = ClickEvent;
if (handler != null) handler(this, args);
Они означают одно и то же.
В качестве небольшой оптимизации вы можете sh отложить создание объекта CustomArgs
до тех пор, пока не узнаете, что кого-то это волнует, хотя:
ClickEvent?.Invoke(this, new CustomArgs {
Name = gebäude.ToString(),
Level = Level,
MenuePosition = Menue
});