này hoạt động như mong đợi:Tại sao tính năng định kiểu này gây ra lỗi?
byte b = 7;
var i = (int)b;
Trong khi điều này ném một InvalidCastException
:
byte b = 7;
object o = b;
var i = (int)o;
Tại sao các diễn viên thất bại từ một object
khi loại cơ bản vẫn là byte
?
Câu hỏi này khám phá điều này: http://stackoverflow.com/questions/5588073/generics-casting-and-value-types-why-is-this-illegal - đặc biệt là câu trả lời của Eric Lippert là đọc tốt. –
@MattGreer Điều đó làm chính xác câu trả lời của tôi tự hỏi. – jelbourn