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;
}
}
Umpan balik .NET
.NET adalah proyek sumber terbuka. Pilih tautan untuk memberikan umpan balik: