Aneh, tetapi jawaban yang diterima tampaknya salah tentang para pemeran dan Konversi dalam arti bahwa dari tes saya dan membaca dokumentasi juga tidak boleh memperhitungkan operator implisit atau eksplisit akun.
Jadi, jika saya memiliki variabel tipe objek dan kelas "kotak" memiliki beberapa operator implisit yang ditentukan mereka tidak akan bekerja.
Alih-alih cara sederhana lain, tetapi sebenarnya biaya kinerja adalah untuk melakukan sebelumnya secara dinamis.
(int) (dinamis) myObject.
Anda dapat mencobanya di jendela Interaktif VS.
public class Test
{
public static implicit operator int(Test v)
{
return 12;
}
}
(int)(object)new Test() //this will fail
Convert.ToInt32((object)new Test()) //this will fail
(int)(dynamic)(object)new Test() //this will pass