2012-01-04 8 views

ответ

54

Многие из методов отражения можно найти в классе System.Reflection.TypeInfo.

Вы можете получить экземпляр TypeInfo для вашего Type с использованием метода GetTypeInfo расширения, предоставленный System.Reflection.IntrospectionExtensions:

using System.Reflection; 

// ... 

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

Многие методы отражения недоступны в окнах 8 .net framework в стиле метро. Именно по этой причине я искал альтернативы. но я думаю, что альтернативы нет, поэтому кажется, что нужно использовать «есть» или «как» с явным типом. –

+0

@MichaelSync: Я не понимаю, почему вы говорите, что альтернативы нет. «TypeInfo» не работает для вас? Если нет, почему бы и нет? –

+0

Пожалуйста, взгляните на ссылку метро .net. http://msdn.microsoft.com/en-us/library/windows/apps/hh441595(v=vs.110).aspx .. там много типов. –

15

Вы можете использовать это:

using System.Reflection; 

// ... 

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

Это работает в метро.