Как мне вызвать правильную перегруженную функцию, учитывая ссылку на объект на основе фактического типа объекта. Например ...
class Test
{
object o1 = new object();
object o2 = new string("ABCD");
MyToString(o1);
MyToString(o2);//I want this to call the second overloaded function
void MyToString(object o)
{
Console.WriteLine("MyToString(object) called.");
}
void MyToString(string str)
{
Console.WriteLine("MyToString(string) called.");
}
}
что я имею в виду, есть ли лучший вариант, чем следующий?
if(typeof(o) == typeof(string))
{
MyToString((string)o);
}
else
{
MyToString(o);
}
Может быть, это можно сделать с помощью отражения?