Đây có thể là một câu hỏi mới, nhưng google ngạc nhiên không cung cấp câu trả lời.
Tôi có phương pháp khá giả tạo này.
T HowToCast<T>(T t)
{
if (typeof(T) == typeof(string))
{
T newT1 = "some text";
T newT2 = (string)t;
}
return t;
}
Đến từ một nền tảng C ++, tôi đã mong đợi nó hoạt động. Tuy nhiên, nó không thể biên dịch với "Không thể chuyển đổi hoàn toàn loại 'T' thành chuỗi" và "Không thể chuyển đổi loại 'T' thành chuỗi" cho cả hai bài tập trên.
Tôi hoặc đang làm một cái gì đó sai về mặt khái niệm hoặc chỉ có cú pháp sai. Xin hãy giúp tôi sắp xếp cái này ra.
Cảm ơn bạn!
typeof(T) == typeof(string)
được giải quyết trong thời gian chạy, không phải thời gian biên dịch. Do đó, dòng sau trong khối là không hợp lệ.