是否可以对未静态引用的程序集中的类型调用Activator.CreateInstance

本文关键字:集中 程序集 类型 调用 CreateInstance Activator 程序 是否 静态 引用 | 更新日期: 2023-09-27 18:00:03

即使执行程序集未引用程序集,用户Activator.CreateInstance()是否可以实例化给定Type.FullNameAssembly Name的类型?

是否可以对未静态引用的程序集中的类型调用Activator.CreateInstance

是的,首先必须加载程序集。

假设你有一个"插件"文件夹要查看:

            foreach (FileInfo f in new DirectoryInfo("c:''plugins").GetFiles("*.dll"))
            {
                System.Reflection.Assembly.LoadFrom(f.FullName);
            }

现在程序集已加载,您可以使用Activator.CreateInstance.

创建类型是的。这就是反射的美。您可以通过知道程序集的名称来加载程序集,然后可以创建在该程序集中声明的类型。