我使用 WPFToolKit 的 Chart 类,我想通过字符串调用构造函数来缩短下面的代码。
switch (node.Attributes["type"].Value)
{
case "ColumnSeries":
ans = new ColumnSeries();
break;
case "PieSeries":
ans = new PieSeries();
break;
case "AreaSeries":
ans = new AreaSeries();
break;
case "BarSeries":
ans = new BarSeries();
break;
case "LineSeries":
ans = new LineSeries();
break;
}
在搜索后,我找到了以下代码:
Type type = Type.GetType(node.Attributes["type"].Value);
Console.WriteLine(type == null);
ConstructorInfo ctor = type.GetConstructor(new Type[] { });
object instance = ctor.Invoke(new object[]{});
但奇怪的是,类型始终为null,我不知道为什么。有人能告诉我吗? 谢谢。
Type type = Assembly.GetExecutingAssembly().GetType(node.Attribute["type"].Value);
。 - SimpleVar