2016-08-08 7 views
0

Я переношу приложение Silverlight в UWP. не В моем Silverlight приложения, я получаю свойства общедоступного экземпляра:Отражение для получения свойств публичных экземпляров в UWP

Type t; 
t.GetProperties(BindingFlags.Instance | BindingFlags.Public); 

В UWP это выглядит как GetProperties (BindingFlags.Instance | BindingFlags.Public) метод больше не доступны. Есть ли другой способ сделать это в UWP?

спасибо.

ответ

1

Из этого MSDN источника, вы можете сделать следующее:

var props = t.GetTypeInfo().DeclaredProperties 
          .Where(x => x.GetMethod.IsPublic); 
+0

спасибо user3185569. Как указать флагов привязки для получения непубличных или нестатических свойств? foreach (PropertyInfo p в реквизитах) { if (p.GetType(). GetTypeInfo(). IsPublic || p.GetType(). GetTypeInfo(). IsNotPublic)) || p.GetType(). GetTypeInfo(). IsInstance) // ???? { // .... } } –

+0

@sarahberderian Добавили ли вы 'using System.Reflection', потому что я могу использовать GetProperties с Binding Flags в моем проекте UWP. – user3185569

+0

@sarahberderian Однако проверьте обновленный ответ о том, как получить свойства с открытым геттером, если вы хотите включить их только с установщиками изданий, добавьте '|| x.SetMethod.IsPublic' – user3185569

 Смежные вопросы

  • Нет связанных вопросов^_^