2012-07-30 29 views
20

Nói rằng tôi có một lớp học như thế này:Lấy container loại cho một loại lồng nhau sử dụng phản ánh

public class Test { 
    public class InnerTest{} 
} 

Bây giờ có một đối tượng TypeInfo cho InnerTest. Làm cách nào để tìm đối tượng TypeInfo cho Thử nghiệm từ InnerTest?

Cách khác là đơn giản, tôi chỉ có thể sử dụng GetNestedTypes(), nhưng tôi không thể tìm thấy phương thức hoặc thuộc tính (trừ IsNestedType) để tìm ra lớp chứa cho lớp lồng nhau.

Trả lời

28

Bạn có thể lấy thông tin này bằng cách truy xuất thuộc tính "DeclaringType".

Trích dẫn MSDN:

A Loại đối tượng đại diện cho các loại kèm theo, nếu loại hiện nay là một loại lồng nhau; hoặc định nghĩa kiểu generic, nếu kiểu hiện tại là một tham số kiểu của kiểu generic; hoặc kiểu khai báo phương thức chung, nếu kiểu hiện tại là một tham số kiểu của một phương thức chung; nếu không, null.

http://msdn.microsoft.com/en-us/library/system.type.declaringtype.aspx

+0

Giải pháp đơn giản như vậy. Và tôi đã googling bản thân mình điên :) – jessehouwing

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