2016-08-08 8 views
0

私は、SilverlightアプリケーションをUWPに移植しています。私のSilverlightアプリで が、私は公共のインスタンスのプロパティを取得:UWPでパブリックインスタンスのプロパティを取得するためのリフレクション

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

UWPでは、それはGetPropertiesのように見える(BindingFlags.Instance | BindingFlags.Public)メソッドが利用できなくなりました。 UWPでこれを達成する別の方法はありますか?

ありがとうございました。あなたは次の操作を行うことができ、このMSDNソースから、

答えて

1

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

があなたをuser3185569感謝。バインディングflasを非公開または非静的プロパティにする方法を指定するには? foreach(PropertyInfo p in props) { if(p.GetType()。GetTypeInfo()。IsPublic || p.GetType()。GetTypeInfo()。IsNotPublic)) || p.GetType()。GetTypeInfo()。IsInstance)// ???? { // .... } –

+0

@sarahberderian私は、UWPプロジェクトでBinding Flagsで 'GetProperties'を使用できるので、' using System.Reflection; 'を追加しましたか? – user3185569

+0

@sarahberderianしかしパブリッシャーセットターだけを含むようにするには、パブリックゲッターでプロパティーを取得する方法について、更新された答えをチェックし、 '|| x.SetMethod.IsPublic' – user3185569

関連する問題