Здравствуйте, gandjustas, Вы писали:
G>В Java не работал, но насколько знаю там нет делегатов.
Вот именно про это я имею, говоря, что C# ломает мозги программистам. Паттерн делегирования можно применить в любом ОО языке программирования (да в принципе, и не только в ООП, можно в процедурном).
Тот факт, что MS запихало в язык паттерны программирования, не значит, что они не применимы в других языках. В принципе, далее вы как раз и описываете, как сделать делегат.