我想在 C# 中动态加载类。我记得我们在 Java 中使用过Class.forname("String")
,所以在谷歌搜索后我发现我们可以Activator.CreateInstance
在 C# 中使用。我无法弄清楚我的程序集名称会在这里。有什么建议么 ?
object obj = Activator.CreateInstance("MyAssembly","namespaceA.SomeClassName");
它只是程序集的名称。这可能与命名空间相同,但也可能不同。例如,System.Linq.Enumerable
该类在System.Core
程序集中 (in System.Core.dll
)。
如果目标程序集是框架程序集,请查看文档。
如果它在您的控制之下,您应该知道程序集名称 - 它是项目属性的一部分。