Делегат связан с myCheckFuntion(Object)
во время компиляции - вы говорите ему найти метод, который принимает Object
.Это связывание только с одним методом - оно не выполняет разрешение перегрузки во время выполнения на основе фактического типа аргумента.
Когда вы вызываете pg.myCheckFuntion("Hello")
, будет привязываться к myCheckFuntion(String)
во время компиляции, потому что "Hello"
является строкой, и преобразование из строки в строку предпочтительнее преобразования из строки в объект в разрешении перегрузки.
Обратите внимание, что если вы напишите:
object text = "Hello";
pg.myCheckFuntion(text);
тогда , что назовет myCheckFuntion(Object)
.