C# variable Membre remplace utilisé par la méthode de classe de base

OK, donc j'avoue que dès le début qu'il est un peu tordu ... mais il ne servir une logique de but. Je suis à l'aide de C# pour un projet en cours et je vais essayer de trouver un moyen de remplacer un membre de la variable dans une classe dérivée, mais l'accès remplacés variable dans une méthode de classe de base. Pour rendre les choses plus “divertissant”, il serait préférable, si l'substituée membre de la variable statique (ce n'est PAS montré dans l'exemple de code ci-dessous).

Voici mon exemple de code:

class baseclass
{
    protected string[] array = null;

    public string method()
    {
        string str = "";
        foreach (string x in this.array)
        {
            str += x + "  "; 
        }

        return str;
    }
}

class subclass1 : baseclass
{
    new string[] array = new string[]
    {
        "class1value1",
        "class1value2",
        "class1value3",
        "class1value4"
    };
}

class subclass2 : baseclass
{
    new string[] array = new string[]
    {
        "class2value1",
        "class2value2",
        "class2value3",
        "class2value4"
    };
}

Pensées, pourquoi cela ne fonctionne pas et un moyen de contourner cela?

  • Membre variables ne sont pas polymorphes comme des méthodes. Initialiser le tableau pour contenir les valeurs désirées dans chaque sous-classe.
InformationsquelleAutor | 2009-07-10