2011-10-26 2 views
0

私は多くのフィールドにアクセスするメソッドを持っているので、そのクラスにハードコードされています。他のクラスで再利用できるようにしたいと思います。別のクラスにメソッドを抽出する方法

メソッドがアクセスする(同じクラス内の)すべてのフィールドとメソッドのリストを取得する方法はありますか?

私はVS2010を使用しています。

+0

非常に迅速で汚い方法の1つは、メソッドを静的にマークし、コンパイラエラーを調べることです。 –

+0

コール階層を表示して、メソッドが呼び出す他のメソッドを表示できます。フィールドに似たものがあるかどうかはわかりません。 –

+1

@DanBryant:静的メンバーにアクセスしたい場合は動作しない可能性があります。 –

答えて

1

確かに、そのメソッドをクラスから取り出し、それを空のクラスに入れてコンパイルしようとします。コンパイラは、このメソッドがアクセスしようとしているが見つからないフィールドのリストについて文句を言うでしょう。

0

Reflectionの名前空間は、この点で必要なものすべてを処理できます。特に、私はあなたがSystem.Reflection.PropertyInfoとSystem.Reflection.MemberInfoをチェックアウトしたいと思うでしょう。

+0

ありがとうございます。私はそれを試してみました。私は持っている: 'タイプt = typeof(Form1); MethodInfo mi = t.GetMethod( "method1"); mi.' 私は次のステップを見つけることができません。今何? – ispiro

関連する問題