我知道下拉列表显示了类中许多其他内容的所有方法,但我正在制作流程图,为此我需要列表,如 text < / strong>类中的所有方法。我怎样才能得到这个列表,因为目前我正在手动将方法名称复制粘贴到一个列表中,这个问题非常麻烦,因为我有600种方法......
答案 0 :(得分:6)
使用Visual Studio的Refactor菜单,然后选择Extract Interface。 Refactor->Extract Interface on MSDN for Visual Studio 2008。
单击“全选”按钮,然后单击“确定”按钮。这将在您的项目中为您创建一个新文件。
然后,您可以根据需要进行复制和粘贴。
请务必返回到您的班级并删除界面实施代码。
答案 1 :(得分:1)
您可以使用反射来获取所有方法,属性等的列表,然后将它们写出到控制台或文件中。
好吧,例如,如果你想在类中获取所有公共静态方法,你可以这样做:
// 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);
}
反射是一种系统可以在运行时查询对象类型以及这些对象所公开的方法和属性的方式。
在你的情况下,你不仅需要所有的公共和静态,而是所有的方法。因此,您需要对上面的代码进行适当的更改才能实现。
答案 2 :(得分:0)
聚会非常晚,但这是一种不弄乱代码的方式。
答案 3 :(得分:0)
我不知道自从OP提出这个问题以来情况是否发生了变化,但是有一种相对简单的方法,那就是使用类视图(Ctrl-Shift-C)。现在,该解决方案允许通过在“类视图”中单击适当的类,然后复制粘贴来按字母顺序检索类中的所有方法。
由于不是针对整个项目,而是仅针对单个类,所以我想如果您有600个类,每个类具有1个方法,这不是很吸引人,但是如果每个类中方法的分配合理,那么应该不会太差