Я новичок в Stack Overflow, поэтому, пожалуйста, будьте осторожны со мной!Я читаю C # в глубине, но я столкнулся с сценарием, который я не верю, что покрыт.Быстрый поиск в Интернете также не дал никаких результатов.
Скажем, я определяю следующие перегруженные методы:
void AreEqual<T>(T expected, T actual)
void AreEqual(object expected, object actual)
Если я вызываю AreEqual()
без указания аргумента типа:
AreEqual("Hello", "Hello")
Вызывается ли общая или неуниверсальная версия метода?Вызывается ли обобщенный метод с выводом аргумента типа или неуниверсальный метод вызывается с неявным приведением аргументов метода к System.Object
?
Надеюсь, мой вопрос ясен.Заранее спасибо за любой совет.