Pourquoi la ligne marquée par //Dont work in the bottom of the code
ne se compile-t-elle pas?Comment appeler une méthode d'une autre classe à partir d'une méthode générique?
Je veux réutiliser la méthode WriteMessage
avec différentes classes, j'essaie d'utiliser generics
, mais je ne suis pas sûr de savoir comment l'utiliser.
class ClassOne
{
public string MethodOne()
{
return ("ClassOne");
}
public string MethodTwo()
{
return ("ClassOne -MethodTwo ");
}
}
class ClassTwo
{
public string MethodOne()
{
return ("ClassTwo");
}
public string MethodTwo()
{
return ("ClassOne -MethodTwo ");
}
}
class Program
{
private static void Main()
{
var objectOne = new ClassOne();
WriteMessage(objectOne);
var objectTwo = new ClassTwo();
WriteMessage(objectTwo);
Console.ReadKey();
}
public static void WriteMessage<T>(T objectA)
{
var text = objectA.MethodTwo(); //Dont Work
Console.WriteLine("Text:{0}", text);
}
}
1 Le concept le plus important est ici une contrainte de type générique (pas d'interface) mais la solution est correcte. – BradleyDotNET