Comment j'appelle la fonction surchargée correcte en référence à un objet basé sur le type réel de l'objet. Par exemple ...Comment appeler la fonction surchargée correcte lors de l'exécution?
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.");
}
}
Qu'est-ce que je veux dire est-il une meilleure option que ce qui suit?
if(typeof(o) == typeof(string))
{
MyToString((string)o);
}
else
{
MyToString(o);
}
Peut-être cela peut-il être fait en utilisant la réflexion? Fonction
Ceci est juste un exemple montrant mon problème réel. –