Assembly.GetType返回null

Ste*_*Ste 13 c# reflection

我试图动态加载加密程序集,但我GetType返回null,即使我使用正确的类名.这是代码:

//Load encryption assembly.
Assembly encryptionAssembly = Assembly.LoadFrom("Encryption.dll");
foreach(Type t in encryptionAssembly.GetTypes())
   {
      MessageBox.Show(t.Name.ToString());
      // This shows "Encryption"
   }
Type encryptionClass = encryptionAssembly.GetType("Encryption");
// But this returns null
Run Code Online (Sandbox Code Playgroud)

我对这个有点头疼.这堂课是公开的,我肯定拼写正确.

提前致谢.

Tig*_*ran 15

这里

MessageBox.Show(t.FullName.ToString()); //FULLNAME
Run Code Online (Sandbox Code Playgroud)

打印出FullName的类型和使用后 FullName得到从组件类型.


ILy*_*Lya 10

您应该指定类型的完整命名空间,例如:

encryptionAssembly.GetType("My.Namespace.Encryption")
Run Code Online (Sandbox Code Playgroud)

你可以使用它来了解它 t.FullName


eyo*_*ssi 5

尝试指定加密类型的全名 (namespace.classname)