📜  获取所有程序集 c# (1)

📅  最后修改于: 2023-12-03 15:41:28.334000             🧑  作者: Mango

获取所有程序集 C#

在 C# 中,可以使用 System.Reflection.Assembly 类和 System.AppDomain 类来获取所有可用的程序集。下面是一些代码片段来说明如何实现。

首先,需要使用 GetAssemblies() 方法获取当前应用程序域中加载的所有程序集。这将返回一个 Assembly[] 数组,其中包含当前应用程序域中加载的所有程序集。

using System;
using System.Reflection;

class Program
{
    static void Main(string[] args)
    {
        Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies();

        foreach (Assembly assembly in assemblies)
        {
            Console.WriteLine(assembly.GetName().Name);
        }
    }
}

上面的示例代码将遍历当前应用程序域中加载的所有程序集,并打印程序集的名称。

要获取特定路径中的程序集,可以使用 Assembly.LoadFrom 方法:

Assembly assembly = Assembly.LoadFrom("path_to_assembly.exe");

要获取程序集中的所有类型,请使用 GetTypes() 方法:

Type[] types = assembly.GetTypes();

要获取类型的所有公共方法,请使用 GetMethods() 方法:

MethodInfo[] methods = type.GetMethods(BindingFlags.Public | BindingFlags.Instance);

有关更多信息,请参阅以下文章: