您可以获得整个“后缀”,即Application.exe使用与 .NET 框架(例如性能计数器)相同的基础结构之后的部分。
有System.Runtime.Versioning.VersioningHelper.MakeVersionSafeName方法可以做到这一点。请注意,该方法被描述为“基础结构”和“此 API 支持 .NET Framework 基础结构,并且不打算直接从您的代码中使用。”,但仍然是公开的。我认为没有任何“更好的支持”方式来获取您想要的信息。至少它对未来的变化更加健壮和有弹性,然后根据文档对信息进行逆向工程。
string suffix = System.Runtime.Versioning.VersioningHelper.MakeVersionSafeName("",
System.Runtime.Versioning.ResourceScope.Machine,
System.Runtime.Versioning.ResourceScope.AppDomain));
Run Code Online (Sandbox Code Playgroud)
_p4472_r16_ad1例如,这将返回。
当然,也可以直接传入性能计数器的basename,直接得到全名。上面空字符串的用法只是获取“后缀”的一个技巧。
string str = VersioningHelper.MakeVersionSafeName("Application.exe",
ResourceScope.Machine, ResourceScope.AppDomain);
// str -> "Application.exe_p4472_r16_ad1".
Run Code Online (Sandbox Code Playgroud)
该类VersioningHelpers也有私有方法GetRuntimeId(),但鉴于上述情况,我认为没有必要使用反射来实现您的需要。
| 归档时间: |
|
| 查看次数: |
842 次 |
| 最近记录: |