我知道下拉列表显示类中的许多其他内容中的所有方法,但我正在制作一个流程图,为此我需要一个列表,就像类中所有方法的文本一样。我怎样才能得到这个列表,因为目前我正在手动将方法名称复制粘贴到一个列表中,这很麻烦,因为我有 600 种方法......
问问题
5804 次
4 回答
7
使用 Visual Studio 的 Refactor 菜单,然后选择 Extract Interface。Refactor->Extract Interface on MSDN for Visual Studio 2008。
单击按钮全选,然后单击按钮确定。这将为您在项目中创建一个新文件。
然后,您可以根据需要复制和粘贴。
一定要回到你的班级并删除接口实现代码。
于 2012-05-09T15:38:42.220 回答
5
我不知道自从 OP 写了这个问题以来事情是否发生了变化,但是有一个相对简单的方法,那就是使用类视图(Ctrl-Shift-C)。现在,此解决方案允许通过单击类视图中的适当类然后复制粘贴来按字母顺序检索类中的所有方法。
由于它不是针对整个项目,仅针对单个类,我想如果你有 600 个类,每个类有 1 个方法,这不是很吸引人,但如果每个类的方法分布合理,那应该不会那么糟糕。
于 2018-10-11T13:23:54.787 回答
2
您可以使用反射来获取所有方法、属性等的列表,然后将它们写到控制台或文件中。
例如,如果您想在一个类中获取所有公共静态方法,您可以这样做:
// 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 回答
0
派对迟到了,但这是一种不会弄乱代码的方法。
- 使用像Telerik JustDecompile这样的 Disassmbly 工具。
- 浏览并打开包含您的代码的程序集。
- 浏览到类型,在文本窗口中选择反汇编。
- 有了它,使用像Notepad++这样的文本编辑器来格式化/清理文本。
于 2017-04-04T14:22:26.440 回答