0

我指的是这个

我可以在运行时加载 .NET 程序集并实例化只知道名称的类型吗?

尝试添加 shell32.dll 作为参考,这里是代码

    string assemblyName = "Interop.Shell32.dll";
    string assemblyPath = HttpContext.Current.Server.MapPath(assemblyName);
    Assembly assembly = Assembly.LoadFrom(assemblyPath);
    Type T = assembly.GetType("ShellClass");
    ShellClass instance = (ShellClass)Activator.CreateInstance(T);
    ShellClass sh = new ShellClass();

上面的代码有错误:

找不到类型或命名空间名称“ShellClass”(您是否缺少 using 指令或程序集引用?)

也有试用

Assembly assembly = Assembly.LoadFrom("Interop.Shell32.dll");
Type type = assembly.GetType("ShellClass");
object ShellClass = Activator.CreateInstance(type);

错误:

找不到类型或命名空间名称“ShellClass”

我不太了解如何以编程方式添加参考。上面的代码有什么问题?

4

1 回答 1

0

您应该在 GetType 方法中包含类的命名空间:

assembly.GetType("Shell32.ShellClass");
于 2013-06-25T09:34:43.733 回答