Изменения с рефлексией

Есть несколько изменений, которые существуют в Windows 8 и .NET 4.5 по отношению к Reflection API. Первое из них заключается в том, как класс Type проецируется в Windows 8. Есть новый класс, называемый TypeInfo, и вы будете использовать его часто в Windows 8, если вы будете работать с рефлексией, потому что это единственный способ получить доступ и вызвать элементы во время выполнения. Вы не видите методов, как IsAssignableFrom, для объекта Type:

typeof(object).IsAssignableFrom(typeof(Math))

Вам нужно делать это таким образом:

typeof(object).GetTypeInfo().IsAssignableFrom(typeof(Math).GetTypeInfo())

GetTypeInfo() уводит вас от Type к TypeInfo, и метод расширения AsType() возвращает вас от TypeInfo к Type.

Как вы уже, наверное, уже догадались, касаемо приложений Windows 8 и ее модели безопасности, вы можете получить доступ только к открытым членам – вы не можете получить доступ к закрытым членам. Опять же, эти изменения предназначены строго для приложений Windows 8. Если вы ориентируетесь на .NET 4.5 за пределами Windows 8, вы все еще можете использовать полный класс Type.

или RSS канал: Что новенького на smarly.net