Error del compilador CS0106

Actualización: noviembre 2007

Mensaje de error

El modificador 'modificador' no es válido para este elemento
The modifier 'modifier' is not valid for this item

Se marcó un miembro de clase o interfaz con un modificador de acceso no válido. En los siguientes ejemplos se describen algunos de estos modificadores no válidos:

  • Los modificadores static y public no son válidos en los métodos de interfaz.

  • Asimismo, tampoco se permite la palabra clave public en una declaración de interfaz explícita. En este caso, quite la palabra clave public de la declaración de interfaz explícita.

  • La palabra clave abstract no está permitida en una declaración de interfaz explícita, ya que en ningún caso se puede reemplazar una implementación de interfaz explícita.

En versiones anteriores de Visual Studio no se permitía el modificador static en una clase, pero en Microsoft Visual Studio 2005 sí es posible utilizar clases static.

Para obtener más información, vea Interfaces (Guía de programación de C#)

Ejemplo

El código siguiente genera el error CS0106.

// CS0106.cs
namespace MyNamespace
{
   interface I
   {
      void m();
      static public void f();   // CS0106
   }

   public class MyClass
   {
      public void I.m() {}   // CS0106
      public static void Main() {}
   }
}