Подтвердить что ты не робот

Отсутствует метод Type.GetProperty() в представлении разработчика Windows 8

Я пытаюсь подключить простое приложение к Windows 8 Metro (WinRT). Похоже, что некоторые очень простые методы отсутствуют. Один базовый пример: Type.GetProperty(). Он доступен для профиля Windows Phone 7, Silverlight и .NET. Должен ли я что-то устанавливать (например, специальную библиотеку) или этот метод просто недоступен в профиле .NET metro?

UPDATE

ОК, спасибо. Теперь я использую this.GetType().GetTypeInfo().DeclaredProperties.

using System.Reflection; необходим для этого метода расширения GetTypeInfo().

4b9b3361

Ответ 1

Отражение немного изменилось в Metro: см. MSDN ( "Изменения отражения" - внизу).

В принципе, вам теперь нужно: type.GetTypeInfo().

Ответ 2

В дополнение к ответу Николаса Батлера, я закончил использование таких расширений, чтобы поддерживать код повторно используемым на всех платформах.

#if NETFX_CORE // Workaround for .Net for Windows Store not having Type.GetProperty method
    public static class GetPropertyHelper
    {
        public static PropertyInfo GetProperty(this Type type, string propertyName)
        {
            return type.GetTypeInfo().GetDeclaredProperty(propertyName);
        }
    }
#endif

Таким образом, Type.GetProperty() реализуется для всех платформ.