CS0151-ös fordítási hiba

A várt integráltípus értéke

Egy változót olyan helyzetben használtunk, amikor egy integrál adattípusra volt szükség. További információ: Típusok.

Példa a nem egyértelmű átalakításra

Ez a hiba akkor fordulhat elő, ha nincs átalakítás, vagy ha a rendelkezésre álló implicit konverziók nem egyértelmű helyzetet eredményeznek. Az alábbi példa a CS0151-et hozza létre:

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