gpt4 book ai didi

c# - 如何在程序集中找到实例化类 X 对象的所有方法?

转载 作者:行者123 更新时间:2023-11-30 14:03:12 26 4
gpt4 key购买 nike

这里有一个有趣的问题:在我当前的项目中,我们使用了一个配置非常繁重的自定义性能监控套件(它使用 Perfmon,因此我们必须手动注册每个性能计数器。我们为每种方法使用一个性能计数器监视器,其中有很多)。

我想知道是否有任何工具可以让我分析项目程序集,找到所有实例化 XClass 类实例的方法,然后将它们写到一个文件中?这将使我能够大幅减少需要进行的手动配置。

谢谢,埃德

编辑

抱歉,“将它们写入文件”这件事有点做作:我真的需要用一些额外的数据重新格式化它们并以特定于配置的 XML 格式写入它们。如果我可以对其进行编码以便将其设置为构建任务(这样我就不必手动运行它)并且可以轻松进行任何 future 更改并记录等,这将是最好的。

最佳答案

打开 Reflector 中的程序集(免费版很好);找到类型 (F3),然后调出分析器 (Ctrl+R) 并展开“Instantiated By”节点。

然后右击“Instantiated By”节点本身并点击复制;例如:

System.Data.SqlClient.SqlConnectionStringBuilder
Depends On
Used By
Exposed By
Instantiated By
SqlDependencyProcessDispatcher.GetHashHelper(String, SqlConnectionStringBuilder&, DbConnectionPoolIdentity&, String&, String) : SqlConnectionContainerHashHelper
System.Data.SqlClient.SqlClientFactory.CreateConnectionStringBuilder() : DbConnectionStringBuilder
System.Web.Management.SqlWebEventProvider.Initialize(String, NameValueCollection) : Void
System.Web.SessionState.SqlSessionStateStore.CreatePartitionInfo(String) : IPartitionInfo
System.Web.SessionState.SqlSessionStateStore+SqlPartitionInfo.get_TracingPartitionString() : String
System.Web.SessionState.SqlSessionStateStore+SqlStateConnection..ctor(SqlPartitionInfo, TimeSpan)

关于c# - 如何在程序集中找到实例化类 X 对象的所有方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4525976/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com