クラス内の他の多くのものの中ですべてのメソッドを表示するドロップダウンリストを知っていますが、フローチャートを作成しているため、クラス内のすべてのメソッドのテキストのようにリストが必要です。現在、メソッド名をリストに手動でコピーして貼り付けているため、このリストを取得するにはどうすればよいですか?これは、600種類のメソッドがあるため非常に面倒です...
5804 次
4 に答える
7
Visual Studio の [リファクタリング] メニューを使用して、[インターフェイスの抽出] を選択します。MSDN for Visual Studio 2008 の Refactor->Extract Interface。
[すべて選択] ボタンをクリックし、[OK] ボタンをクリックします。これにより、プロジェクトに新しいファイルが作成されます。
その後、必要に応じてコピーして貼り付けることができます。
必ずクラスに戻り、インターフェイスの実装コードを削除してください。
于 2012-05-09T15:38:42.220 に答える
2
リフレクションを使用して、すべてのメソッド、プロパティなどのリストを取得し、それらをコンソールまたはファイルに書き出すことができます。
たとえば、クラス内のすべての public static メソッドを取得したい場合は、次のようにします。
// get all public static methods of MyClass type
MethodInfo[] methodInfos = typeof(MyClass).GetMethods(BindingFlags.Public |
BindingFlags.Static);
// sort methods by name
Array.Sort(methodInfos,
delegate(MethodInfo methodInfo1, MethodInfo methodInfo2)
{ return methodInfo1.Name.CompareTo(methodInfo2.Name); });
// write method names
foreach (MethodInfo methodInfo in methodInfos)
{
Console.WriteLine(methodInfo.Name);
}
リフレクションは、システムが実行時に、オブジェクトのタイプと、それらのオブジェクトによって公開されるメソッドとプロパティを照会できる方法です。
あなたの場合、すべてのパブリックおよび静的なものだけでなく、すべてのメソッドが必要です。したがって、上記のコードに適切な変更を加えて、それを取得します。
于 2012-05-09T15:30:34.893 に答える