Kompilatorfel CS0151

Ett värde av en integrerad typ förväntas

En variabel användes i en situation där en integrerad datatyp krävdes. Mer information finns i Typer.

Exempel på tvetydig konvertering

Det här felet kan inträffa när det inte finns någon konvertering eller om de tillgängliga implicita konverteringarna resulterar i en tvetydig situation. I följande exempel genereras CS0151:

public class MyClass
{
   public static implicit operator int (MyClass aa)
   {
      return 0;
   }

   public static implicit operator long (MyClass aa)
   {
      return 0;
   }

   public static void Main()
   {
      MyClass a = new MyClass();

      // Compiler cannot choose between int and long.
      switch (a)   // CS0151
      // try the following line instead
      // switch ((int)a)
      {
         case 1:
            break;
      }
   }
}