2016-08-08 70 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。如何指定綁定Flas以獲取非公共屬性或非靜態屬性?的foreach(在道具的PropertyInfo P) { 如果(p.GetType()。GetTypeInfo的()。IsPublic || p.GetType()。GetTypeInfo的()。IsNotPublic)) || p.GetType()。GetTypeInfo的()。IsInstance)// ???? { // .... } } –

+0

@sarahberderian您是否添加了'using System.Reflection;',因爲我可以在我的UWP項目中使用具有綁定標誌的'GetProperties'。 – user3185569

+0

@sarahberderian然而,如果你想只包含publice setter,加入'|| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||# x.SetMethod.IsPublic' – user3185569

相關問題