Advertencia del compilador (nivel 2) CS0108

Actualización: noviembre 2007

Mensaje de error

'miembro1' oculta el miembro heredado 'miembro2'. Utilice la nueva palabra clave si su intención era ocultarlo.
'member1' hides inherited member 'member2'. Use the new keyword if hiding was intended.

Se declaró una variable con el mismo nombre que una variable en una clase base. Sin embargo, no se utilizó la palabra clave new. Esta advertencia le informa de que debe utilizar new; la variable se declara como si se hubiera utilizado new en la declaración.

El código siguiente genera el error CS0108:

// 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);
      }
   }
}