Предположим, что у меня есть универсальный метод, поскольку:
void Fun<T>(FunArg arg) {}
Являются ли this.Fun<Feature>
и this.Fun<Category>
разными реализациями универсального метода?
В общем, как реализуется обобщенный метод? Другой общий аргумент создает другой метод или один и тот же метод вместе с разными метаданными, которые используются во время выполнения?
Подтвердите свой ответ цитатой (s )из спецификации языка.
Кроме того, предположим, что я сделал это:
client.SomeEvent += this.Fun<Feature>; //line1
client.SomeEvent += this.Fun<Category>; //line2
client.SomeEvent += this.Fun<Result>; //line3
затем позже,
client.SomeEvent -= this.Fun<Feature>; //lineX
Отменяет ли lineX
то, что я сделал в line1
? Или это еще от чего-то зависит?