Compilerwarnung (Stufe 2) CS0108

"Member1" blendet den geerbten Member "Member2" aus. Verwenden Sie das Schlüsselwort „new“, wenn das Ausblenden beabsichtigt war.

Ein Member wurde mit demselben Namen wie ein Member in einer Basisklasse deklariert. Der neue Modifizierer wurde jedoch nicht verwendet.

Im folgenden Beispiel wird CS0108 generiert. Sie haben zwei Möglichkeiten, CS0108 zu beheben:

  • Benennen Sie den Member in der abgeleiteten Klasse um, wenn das Ausblenden von Membern nicht beabsichtigt war.

  • Verwenden Sie den new-Modifizierer, um zu deklarieren, dass Sie das Ausblenden von Membern absichtlich von der Basisklasse abgeleitet haben.

// CS0108.cs
// compile with: /W:2
using System;

namespace MyNamespace;

public class BaseClass
{
    public int i = 1;
}

public class DerivedClass : BaseClass
{
    public static int i = 2;   // CS0108
    // Use the following line instead:
    // public static new int i = 2;

    public static void Main()
    {
        Console.WriteLine(i);
    }
}

Siehe auch