我正在读取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;
}
但是我遇到了错误
“键”是一个变量,但像类型一样使用
解决这个问题的任何想法
答案 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;
}