Ini mungkin pertanyaan pemula, tetapi secara mengejutkan google tidak memberikan jawaban.
Saya memiliki metode yang agak buatan ini
T HowToCast<T>(T t)
{
if (typeof(T) == typeof(string))
{
T newT1 = "some text";
T newT2 = (string)t;
}
return t;
}
Berasal dari latar belakang C ++ saya berharap ini berfungsi. Namun, gagal mengkompilasi dengan "Tidak dapat secara implisit mengonversi tipe 'T' ke string" dan "Tidak dapat mengonversi tipe 'T' ke string" untuk kedua tugas di atas.
Saya melakukan sesuatu yang secara konseptual salah atau hanya memiliki sintaks yang salah. Tolong bantu saya menyelesaikan masalah ini.
Terima kasih!
typeof(T) == typeof(string)
diselesaikan pada saat runtime, bukan waktu kompilasi. Dengan demikian, baris berikut dalam blok tidak valid.