2012-07-12 33 views
5

http://msdn.microsoft.com/en-us/library/ah19swz4(v=VS.71).aspxlớp cơ sở của cấu trúc xây dựng trong C#

Theo liên kết ở trên ... .. “Struct, tuy nhiên, kế thừa từ lớp cơ sở Object ......”

Theo liên kết dưới đây http://msdn.microsoft.com/en-us/library/system.valuetype.aspx Struct được triển khai sau ValueType trong cấu trúc phân cấp.

“struct” có nguồn gốc từ đó lớp học? Hoặc trình biên dịch xử lý từ "struct" dự trữ để thực hiện bất kỳ khai báo bằng cách sử dụng "struct" như là loại giá trị? Thiếu chủ đề nhỏ trong sự hiểu biết tổng thể. Cảm ơn sự giúp đỡ của bạn. Smith

+0

Điều gì mà bạn không hiểu? đây có phải là câu hỏi phỏng vấn ...? âm thanh như một ..LOL – MethodMan

+0

struct -> ValueType -> Object –

Trả lời

6

Các phân cấp (bỏ qua bất kỳ phân nhóm lớp) là:

  1. struct .. -> ValueType -> Object

  2. class .. -> Object

Demo:

struct S {} 
class C {} 

// or see `is` as per Jeff Mercado's comment 
typeof(ValueType).IsAssignableFrom(typeof(S)); // True 
typeof(object).IsAssignableFrom(typeof(S)); // True 

typeof(ValueType).IsAssignableFrom(typeof(C)); // False 
typeof(object).IsAssignableFrom(typeof(C)); // True 
+2

Sẽ dễ dàng hơn khi sử dụng 'is'. ;) –

+0

+1 cho chỉnh sửa duyên dáng .. – Daniel

+0

từ nơi int và bool, tất cả các kiểu dữ liệu nguyên thủy này đến từ đâu? Tại sao, định nghĩa cú pháp của int không cho thấy hệ thống phân cấp thừa kế http: //msdn.microsoft.com/en-us/library/5kzh1b5w (v = VS.80) .aspx – LaysomeSmith

Các vấn đề liên quan