获取课程类型时出现问题

时间:2019-09-19 05:44:43

标签: c#

我正在读取app.config条目

  <add key="ClassNameSpace.ClassName" value="http://xxxx/xxx.asmx"/>     

我正在尝试获取钥匙的类型

  var section = configuration.GetSection(sectionKey.ToString());
  var appSettings = section as AppSettingsSection;
  if (appSettings == null) continue;

  foreach (var key in appSettings.Settings.AllKeys)
  {
      System.Type type = System.Type.GetType(typeof(key).AssemblyQualifiedName);
      var webService = new SecureWebService<type>().Service;
  }

但是我遇到了错误

“键”是一个变量,但像类型一样使用

解决这个问题的任何想法

2 个答案:

答案 0 :(得分:1)

typeof()返回代码文本中使用的类型名称的意义上的类型(类,接口,结构...)。

对于类型的字符串表示形式,应使用:

Type type = Type.GetType(key); // full qualified like "namespace.type"
var webService = Activator.CreateInstance(type); // default constructor

答案 1 :(得分:0)

GetType()返回对象的System.Type对象。 typeof()返回数据类型的System.Type对象。

var section = configuration.GetSection(sectionKey.ToString());
var appSettings = section as AppSettingsSection;
if (appSettings == null) continue;

foreach (var key in appSettings.Settings.AllKeys)
{
    System.Type type = key.GetType();
    var webService = new SecureWebService<type>().Service;
}