В С++ есть возможность перегрузки круглых скобок:
int operator ()(int i) {return i;}
Как такое провернуть в C#? Что-то типа:
public int this(int i){return i;}
ЗЫ: пытаюсь слепить самодельный event:
public struct Event<T> {
public delegate void Portrait(T arg);
private event Portrait action;
public void Raise(T arg){if (action != null){action(arg);}}
public static Event<T> operator +(Event<T> eve, Portrait act){
eve.action += act; return eve;
}
public static Event<T> operator -(Event<T> eve, Portrait act){
eve.action -= act; return eve;
}
}
Собсно велосипед изобретаю ради сокращения обьявления эвентов, теперь пишется всего одна строчка:
public static Event <int>OnLOL;
+ "автоматическая" проверка на null
При этом синтаксис использования остается неизменным (окромя вышеупомятуных круглых скобок)
Вроде прикольная фигня

А как эвенты используете Вы?