Type.GetType(" Namespace.Classname,Assemblyname")返回null

时间:2016-03-01 12:43:38

标签: c#

这是我的代码

public static string dalProvidor = "SimpleInjector.EFDataProvider.EFDataProvider";
string dalrep = dalProvidor + ", SimpleInjector.EFDataProvider";
string d = typeof(SimpleInjector.EFDataProvider.EFDataProvider).AssemblyQualifiedName;
Type dalRepository = Type.GetType(dalrep);

我正在将AssemblyQualifiedName读入变量 d ,但我没有在代码中的任何地方使用它。我正在存储" Namespace.Classname,Assemblyname"在字符串变量 dalrep 中。我将 dalrep 传递给Type.GetType。

我观察到两个结果:

  
      
  1. 如果我对以下行发表评论,则Type.GetType会为 dalrep
  2. 返回null   

string d = typeof(SimpleInjector.EFDataProvider.EFDataProvider).AssemblyQualifiedName;

  
      
  1. 如果我取消注释上述行,则Type.GetType会返回 dalrep
  2. 的正确类型   

我不知道为什么它为同一代码返回两个不同的结果,取决于下面的行,即使我没有在任何地方使用 d

string d = typeof(SimpleInjector.EFDataProvider.EFDataProvider).AssemblyQualifiedName;

我的要求是,我需要存储" Namespace.Classname,Assemblyname"在数据库中读取" Namespace.Classname,Assemblyname"从数据库中传递给type.gettype。

有人可以帮我解决这个问题吗?

更新 代码现在按预期工作。我不知道发生了什么,它现在工作正常。我没有做任何改变。以下行评论

string d = typeof(SimpleInjector.EFDataProvider.EFDataProvider).AssemblyQualifiedName;

和Type.Gettype不会返回null。奇怪的。相同的代码昨天没有用,今天有效

更新 GetType再次返回null。我不知道发生了什么事。相同的代码片段工作了十分钟,然后再次停止工作。

0 个答案:

没有答案