Template, Singleton et Héritage
Bonjour,
J'ai créé une classe template:
Code:
1 2 3 4 5 6
| public class MyClassTemplate<Type> where Type: class
{
public MyClassTemplate() { ... }
...
} |
Je la définis en singleton:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| public class MyClassTemplate<Type> where Type: class
{
protected MyClassTemplate() { }
private static MyClassTemplate<Type> m_TheInstance;
public static MyClassTemplate<Type> TheInstance
{
get
{
if (m_TheInstance == null)
{
m_TheInstance = new MyClassTemplate<Type>();
}
return m_TheInstance;
}
}
} |
Je veux utiliser cette classe par héritage afin de la spécialiser en lui rajoutant des méthodes:
Code:
1 2 3 4 5 6
| public ClassTemplateString : MyClassTemplate<String>
{
public void Test() {}
...
} |
Malheureusement, comme TheInstance est hérité et correspond à MyClassTemplate<Type> et non à ClassTemplateString, impossible d'accéder aux méthodes de ClassTemplateString:
Code:
1 2
| // Erreur !
ClassTemplateString.TheInstance.Test(); |
J'aimerai en fait éviter de recoder la partie singleton pour chaque classe fille.
Merci d'avance pour vos remarques et suggestions,
AL2000