にType.GetMemberとプライベートフィールドにアクセスすることはできませんホストがApplication.Current
とメンバーは「_ownDispatcherStarted」である場合、例えば、それは空の配列を返しますが、もしあれば私はプライベートプロパティを探します。例えばメンバーは "ParkingHwnd"です。長さ1の配列を返します。それは大丈夫です。何故ですか?次のコードは、プライベートフィールドを見つけることができないWPF
var hostType = host.GetType();
var members = host.GetType()
.GetMember(member, Public | NonPublic | Instance);
良いキャッチ。私はこれを試して、どこにもいない。私は 'FlattenHierarchy'フラグを渡していましたが、あなたが継承したプライベートフィールドを取得しないことが分かります:"階層の上のパブリックメンバーとプロテクトされた静的メンバーを返すように指定します " –
ええ、' FlattenHierarchy'は静的メンバー用です。ドキュメンテーションは、インスタンスメンバーがデフォルトでインクルードされるべきであることを意味し、 'DeclaredOnly'にそれらを含めることをオプトアウトすることができますが、私のテストではその結果は表示されませんでした。 –
ジョナサンに感謝します。私はあなたが 'Application.Current'についてどういう意味をしているのか見ています。実際のタイプは' MyApplicationNamespace.App'です。 –