我有这个代码:
Type leftType = workItem[LeftFieldName].GetType();
然后我想声明一个该类型的变量:
leftType someVar;
那可能吗?
Aus*_*nen 25
您可以执行类似这样的操作并将它们转换为已知接口.
var someVar = Convert.ChangeType(someOriginalValue, workItem[LeftFieldName].GetType());
var someVar = Activator.CreateInstance(workItem[LeftFieldName].GetType());
如果更换var与dynamic(和你使用的是.NET 4),你可以打电话给你的方法,希望对someVar对象.如果它们不存在,您只会得到一个MissingMethodException.
SLa*_*aks 10
这是不可能的.
变量类型是编译时的概念; 声明一个直到运行时才知道的类型的变量是没有意义的.
你将无法对变量做任何事情,因为你不知道它是什么类型.
您可能正在寻找dynamic关键字.