gpt4 book ai didi

c# - 不使用依赖程序集的程序集中的 GetTypes

转载 作者:行者123 更新时间:2023-11-30 21:53:37 25 4
gpt4 key购买 nike

我有一个 C# 程序集,但我没有它的依赖项程序集。

有没有办法在没有其依赖项程序集的情况下获取 .Net 程序集的 GetTypes()。

 Assembly SampleAssembly;
SampleAssembly = Assembly.LoadFrom(@"AnyExternal.dll");
var mytypes = SampleAssembly.GetExportedTypes();

我有 AnyExternal.dll 但我没有它的依赖项。

这可能吗?

最佳答案

由于您只想发现类型名称Mono.Cecil可以帮助你:

var types = AssemblyDefinition
.ReadAssembly("YourAssembly.dll")
.MainModule
.Types
.Where(_ => _.IsPublic);

请注意,Where(_ => _.IsPublic) 并非严格等同于 Assembly.GetExportedTypes,因为最后一个也返回嵌套的公共(public)类型。

要将 Mono.Cecil 添加到您的项目中,请执行:

Install-Package Mono.Cecil

来自包管理器控制台。

关于c# - 不使用依赖程序集的程序集中的 GetTypes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33778684/

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