Je me demandais si ce qui suit est possible. Créez une classe qui accepte un type anonyme (string, int, decimal, customObject, etc.), puis ajoutez des méthodes surchargées qui effectuent différentes opérations en fonction du type. ExempleMéthode de surcharge avec les types C#
class TestClass<T>
{
public void GetName<string>()
{
//do work knowing that the type is a string
}
public string GetName<int>()
{
//do work knowing that the type is an int
}
public string GetName<int>(int addNumber)
{
//do work knowing that the type is an int (overloaded)
}
public string GetName<DateTime>()
{
//do work knowing that the type is a DateTime
}
public string GetName<customObject>()
{
//do work knowing that the type is a customObject type
}
}
Alors maintenant, je pourrais appeler la méthode GetName, et parce que je l'ai déjà passé dans le type quand j'initialisé l'objet, la méthode correcte est trouvée et exécuté.
TestClass foo = new TestClass<int>();
//executes the second method because that's the only one with a "int" type
foo.GetName();
Est-ce possible ou est-ce que je viens de rêver?
+1 Génériques! = Modèles – user7116