(私は1.1に機能を追加していますproject、pity me)の場合、デフォルトのメソッドGetFields()
は空の配列を返します。 1.1以降は、このメソッドを更新してすべてのパブリックプロパティを含めるようにしました。私は同じことをするGetProperties()
メソッドが既に存在するので、なぜ彼らがこの変更を行ったのか分かりません。
このメソッドはプライベートフィールドを取得する方法であるため、このメソッドは操作方法の知識が不可欠です。メソッドGetFields(BindingFlags flags)のオーバーロードがあります。これは、BindingFlagsの組み合わせを使用して、オブジェクトから必要なフィールドを決定します。
あなたは、インスタンスのプライベートフィールドをしたいのであれば、あなたが呼び出します。
GetFields(BindingFlags.Instance | BindingFlags.NonPublic);
あなたが唯一のパブリック静的プロパティを使用する場合は、あなたが呼び出します。
GetFields(BindingFlags.Static | BindingFlags.Public);
あなたはまたのためにそれらを結合し続けることができますすべての静的フィールド:
GetFields(BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic);
他の多くの種類があります。を参照してください。上にリンクされているMSDNのページで、他に必要なものをチェックしてください。
「むしろ標準的な型」は確かに普遍的な定義ですが、サンプルコードは良いでしょう; –
あなたの型にはフィールドがありプロパティはないと確信していますか? –
フィールドをパブリックにすることはかなり悪い考えです。あなたは結局それを正しいと思ったでしょうか?再発コードを投稿してください。コメントは –