Tôi không thể tìm thấy mối quan hệ giữa các loại này bằng cách sử dụng .Net reflector. Bất kỳ ý tưởng?Nơi để biết/kiểm tra: Int32 kế thừa từ ValueType, ValueType kế thừa từ Object?
Trả lời
Kể từ khi bạn nói "sử dụng Net phản xạ":
Nếu bạn muốn phản ánh:
Type type = typeof (int);
while(type != null)
{
Console.WriteLine(type.FullName);
type = type.BaseType;
}
trong đó cho thấy:
System.Int32
System.ValueType
System.Object
và nếu bạn có nghĩa là IL:
.class public sequential ansi serializable sealed beforefieldinit Int32
extends System.ValueType
và:
.class public abstract auto ansi serializable beforefieldinit ValueType
extends System.Object
(trong phản xạ, chọn nút của loại, và chọn IL như xem)
Nếu bạn có ý nghĩa quan điểm # C, sau đó:
public struct Int32 ...
Là đủ; từ khóa struct
từ khóa có nghĩa là: được kế thừa từ ValueType
(mặc dù không hoàn toàn theo cách thông thường của C# class
). ValueType
vẫn còn là một lớp thông thường, và có:
public abstract class ValueType ...
và như thường lệ, một class
mà không chỉ định một cơ sở loại có nghĩa là: thừa hưởng từ object
.
Ý tôi là chế độ xem C#. Everyting là rõ ràng bây giờ. Cảm ơn Marc đã đưa ra các cách tiếp cận khác nhau rất tuyệt vời. – user1033098
+1 để giải thích các cách có thể khác nhau. – Adil
- 1. Thừa kế từ Seq
- 2. Thừa kế thừa kế và thừa kế phương thức
- 3. Dự phòng kế thừa từ Object trong C#?
- 4. Kế thừa nhiệm vụ Gradle thừa kế
- 5. C#: Thừa kế thừa kế
- 6. Thừa kế từ Chủ đề.AppCompat *
- 7. Qt kế thừa từ QGraphicsEllipseItem
- 8. WPF - kế thừa từ System.Windows.Application
- 9. iPhone - UIImagePickerControllerKho thừa kế kế thừa
- 10. Java thừa kế vs C# thừa kế
- 11. Kế thừa từ ví dụ trong Python
- 12. Thừa kế từ tiêu chuẩn :: vector
- 13. Lẫn lộn thừa kế
- 14. Thừa kế từ một mẫu C++
- 15. Có thể kế thừa từ MKPolyline
- 16. C++: Kế thừa từ std :: map
- 17. kiểu kế thừa từ kiểu mặc định
- 18. Iframe kế thừa từ bố mẹ
- 19. kế thừa từ một căn cứ enable_if'd
- 20. Thừa kế Java - từ khóa này
- 21. Thừa kế từ UserControl trong WPF
- 22. Thừa kế bảng đơn hoặc thừa kế bảng lớp?
- 23. ánh xạ doctrine2 ghi đè trường inversed đã thừa kế được thừa kế từ MappedSuperclass
- 24. Thừa kế C#. lớp được thừa kế từ lớp cơ sở
- 25. Giá trị ghi đè kế thừa thừa kế Java
- 26. Thừa kế ảo thuần túy, đa thừa kế và C4505
- 27. QSharedData và thừa kế
- 28. Python Nhiều thừa kế
- 29. Về thừa kế C#
- 30. Làm thế nào để kế thừa từ std :: runtime_error?
Câu hỏi hay, tôi cũng thú vị nhưng tôi nghĩ bạn không thể nhìn thấy nó trong phản xạ khiến chỉ những từ khóa như scruct hoặc enum định nghĩa kiểu làm giá trị cho trình biên dịch. –
@Denis bạn có thể thấy nó trong IL, C# và cây ... –
trình duyệt đối tượng trong VS cũng sẽ cung cấp cho bạn thông tin tương tự ... –