Baca dalam bahasa Inggris

Bagikan melalui


Kesalahan Kompilator CS0172

Jenis ekspresi kondisional tidak dapat ditentukan karena 'type1' dan 'type2' secara implisit dikonversi satu sama lain

Dalam pernyataan bersyarat, Anda harus dapat secara implisit mengonversi jenis di kedua sisi token :. Juga, tidak mungkin ada konversi implisit timbal balik; Anda hanya perlu satu konversi.

Sampel berikut menghasilkan CS0172:

// CS0172.cs  
public class Square  
{  
   public class Circle  
   {  
      public static implicit operator Circle(Square aa)  
      {  
         return null;  
      }  
  
      public static implicit operator Square(Circle aa)  
      // using explicit resolves this error  
      // public static explicit operator Square(Circle aa)  
      {  
         return null;  
      }  
   }  
  
   public static void Main()  
   {  
      Circle aa = new Circle();  
      Square ii = new Square();  
      object o = (1 == 1) ? aa : ii;   // CS0172  
      // the following cast would resolve this error  
      // (1 == 1) ? aa : (Circle)ii;  
   }  
}  

Lihat juga