Compilerwarnung (Stufe 2) CS0108

Aktualisiert: November 2007

Fehlermeldung

'member1' blendet den vererbten Member 'member2' aus. Verwenden Sie das new-Schlüsselwort, wenn das Ausblenden vorgesehen war.
'member1' hides inherited member 'member2'. Use the new keyword if hiding was intended.

Es wurde eine Variable mit dem Namen einer Variable in einer Basisklasse deklariert. Das new-Schlüsselwort wurde dabei jedoch nicht verwendet. Mit dieser Warnung werden Sie darüber informiert, dass Sie new verwenden sollten; die Variable wird so deklariert, als wäre new in der Deklaration bereits verwendet worden.

Im folgenden Beispiel wird CS0108 generiert:

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

namespace x
{
   public class clx
   {
      public int i = 1;
   }

   public class cly : clx
   {
      public static int i = 2;   // CS0108, use the new keyword
      // the compiler parses the previous line as if you had specified:
      // public static new int i = 2;

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