Vì vậy, tôi không có kiến thức chuyên sâu về cách dữ liệu được lưu trữ trong Khuôn khổ .NET về loại tùy chỉnh, nhưng tôi đang tìm kiếm giải thích về cách hệ thống truyền đang hoạt động.Nguyên nhân đúc Các GetTypes khác nhau
Ví dụ, nếu ai đó làm một diễn viên rõ ràng từ một Struct ValueType như Char vào Byte như sau:
char C = '#';
byte B = (byte)C;
Console.WriteLine(B.GetType()); // Outputs "Byte"
tôi sẽ được cho biết rằng B là một Byte, mà làm cho cảm giác hoàn hảo.
Bây giờ nói tôi đúc từ một Custom Class Flower để Nhà máy cơ sở lớp của nó, tại sao sản lượng tiết lộ lớp được thừa kế không phụ thuộc vào dàn diễn viên như sau:
class Plant{}
class Flower:Plant{}
.
Flower Rose = new Flower();
Plant RoseBush = (Plant)Rose;
Console.WriteLine(RoseBush.GetType()); //Outputs Flower
Plant Rose = new Flower();
Plant RoseBush = (Plant)Rose;
Console.WriteLine(RoseBush.GetType()); //Outputs Flower as well
Tôi đoán câu hỏi của tôi là, tại sao loại không hiển thị loại tùy chỉnh hiện tại, đó là Nhà máy và tại sao điều này khác với Loại giá trị ngay từ đầu?
Ngoài ra, tại sao hai ví dụ với hoa và thực vật, mặc dù được viết khác trên dòng đầu tiên, cũng xuất ra cùng một thứ?