c#

c# appdomain如何加载程序集

小樊
92
2024-07-26 01:36:12
栏目: 编程语言

在C#中,可以使用AppDomain类来加载程序集。以下是一个简单的示例代码,演示如何在AppDomain中加载程序集:

using System;
using System.Reflection;

class Program
{
    static void Main()
    {
        // 创建一个新的AppDomain
        AppDomain domain = AppDomain.CreateDomain("MyDomain");

        // 加载程序集到新的AppDomain
        Assembly assembly = domain.Load("MyAssembly");

        // 在新的AppDomain中执行程序集中的代码
        Type type = assembly.GetType("MyNamespace.MyClass");
        MethodInfo method = type.GetMethod("MyMethod");
        object instance = Activator.CreateInstance(type);
        method.Invoke(instance, null);

        // 卸载AppDomain
        AppDomain.Unload(domain);
    }
}

在上面的示例中,我们首先创建了一个新的AppDomain,然后使用Load方法加载了一个名为"MyAssembly"的程序集。接下来,我们通过反射获取了程序集中的一个类和一个方法,并执行了该方法。最后,我们使用Unload方法卸载了AppDomain。

请注意,AppDomain提供了一种在应用程序中隔离和管理程序集的方式,可以在需要时动态加载和卸载程序集,以确保应用程序的稳定性和安全性。

0
看了该问题的人还看了