2012-01-04 27 views

Trả lời

54

Nhiều phương pháp phản ánh có thể được tìm thấy trong lớp System.Reflection.TypeInfo.

Bạn có thể lấy một thể hiện của TypeInfo cho Type của bạn bằng cách sử dụng phương pháp GetTypeInfo mở rộng, được cung cấp bởi System.Reflection.IntrospectionExtensions:

using System.Reflection; 

// ... 

ui.GetType().GetTypeInfo().IsSubclassOf(type) 
+0

Nhiều phương pháp phản chiếu không có sẵn trong cửa sổ kiểu metro 8 .net framework. Đây là lý do tôi đang tìm kiếm giải pháp thay thế. nhưng tôi nghĩ rằng không có thay thế vì vậy có vẻ như phải sử dụng "là" hoặc "như" với loại rõ ràng. –

+0

@MichaelSync: Tôi không hiểu tại sao bạn nói không có sự thay thế. 'TypeInfo' có hoạt động không? Nếu không, tai sao không? –

+0

Hãy xem tham chiếu metro .net. http://msdn.microsoft.com/en-us/library/windows/apps/hh441595(v=vs.110).aspx .. rất nhiều loại bị thiếu ở đó .. –

15

Bạn có thể sử dụng này:

using System.Reflection; 

// ... 

ui.GetTypeInfo().IsAssignableFrom(type.GetTypeInfo()); 

này hoạt động trong Metro.

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