获取项目中的所有公共方法
我有一个项目。时间:2019-03-17 标签:c#.net 我想获取项目中所有公共类中所有公共函数的名称。
有没有任何工具或者我可以编写一个程序,将项目 dll 甚至项目目录作为输入,并查找所有公共函数?
i have a project. c# .net
I would like to get names of all public function in all public classes in the project.
is there any tool or can i write a program that take the project dll or even the project directory ,as input ,and find all public function?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这可能符合您的要求:
出于好奇,您打算如何处理此信息?
This probably does what you want:
Out of curiosity, what are you plans with this info?
您可以使用 System.Reflection.MethodInfo 找到它
假设您有一个在接口中具有以下方法的类:
然后使用以下代码读取所有方法/属性:
您将得到以下结果:
方法:getMyDouble
方法:myMethod
方法:get_MyProp
方法:set_MyProp
方法:方法A
方法:方法B
方法:ToString
方法:等于
方法:获取哈希码
方法:获取类型
You can find it by using System.Reflection.MethodInfo
Lets say you have a class with following methods in interfaces:
Then use following code to read all methods/properties:
You would get following result:
Method: getMyDouble
Method: myMethod
Method: get_MyProp
Method: set_MyProp
Method: MethodA
Method: MethodB
Method: ToString
Method: Equals
Method: GetHashCode
Method: GetType
如果您在设计时谈论,那么您正在考虑以下内容之一:
如果您正在谈论运行时,那么您正在考虑通过以下一个或多个方法/类使用 .NET 反射:
AppDomain.CurrentDomain.GetAssemblies() // 返回加载的程序集(即DLLs)。
myAssembly.GetTypes() // 返回 Type 的数组。
myType.GetMethods() // 返回 MethodInfo 的数组。
If you're talking about at design-time, then you're looking at one of the following:
If you're talking about at run-time, then you're looking at using .NET reflection, through one or more of the following methods/classes:
AppDomain.CurrentDomain.GetAssemblies() // returns loaded Assemblies (i.e. DLLs).
myAssembly.GetTypes() // returns an array of Type's.
myType.GetMethods() // returns an array of MethodInfo's.