none
Architecture d'Énumération Type-Safe imbriquées RRS feed

  • Question

  • Bonjour,

    Voici mon interrogation:

    J'essaie de faire une classe générique ayant des énumérations type-safe imbriquées dans le genre de :

    //Le type de T doit être la classe dérivée
    public abstract class A<T> where T : A<T>, new()
    {
    public sealed partial class gen
    {
    private string m_Name;
    public string Name { get { return m_Name; } }

    private gen(string i_Name)
    {
    }
    private gen(gen i_NewGen)
    {
    }

    public static gen A = new gen("A");
    }
    }
    public class B : A<B>
    {
    public partial class gen
    {
    public static gen B = new gen("B");
    }
    }

    public class C : A<C>
    {
    public partial class gen
    {
    public static gen C = new gen("C");
    }
    }

    public class Test
    {
    public void Tests()
    {
    string temp = B.gen.A.Name;
    temp = B.gen.B.Name;
    //B ne doit pas avoir accès à gen.C.Name()
    temp = C.gen.A.Name;
    //C ne doit pas avoir accès à gen.B.Name()
    temp = C.gen.C.Name;
    }
    }
    J'ai tenter de simplifier au maximum mon problème. Par contre, il faut absolument que la classe abstraite aille un argument Générique pointant vers sa classe dérivée.

    Y a t-il un moyen pour garder un peu le même principe?
    jeudi 9 juillet 2009 20:05

Toutes les réponses

  • Bonjour,

    Dans l'héritage des classes, il n'est pas possible de redéfinir les classes incluses.
    Que cherchez vous à faire exactement ?

    Cordialement
    Gilles TOURREAU - MVP C#
    dimanche 26 juillet 2009 11:48
    Modérateur