asp.net mvc使用typeof convert派生类型到基类型

时间:2015-11-28 12:17:53

标签: c# asp.net asp.net-mvc

'edit' => 'wijzig',
'create' => 'nieuw'

如何使此代码有效?如何将从视图传递的派生类型指定给基本视图类

2 个答案:

答案 0 :(得分:1)

如果我已正确理解问题,则需要创建类RadioButtonListViewModel的实例,并将其分配给类型为BaseViewModel的变量,这是其基类。 要创建myType1类型的isntance,可以使用

var c = Activator.CreateInstance(myType1) as BaseViewModel;

答案 1 :(得分:1)

有了这些:

Type myType1 = Type.GetType("RadioButtonListViewModel");
BaseViewModel c= myType1; // doesn't work

您在运行时获得了一个Type对象,然后尝试将其赋予BaseViewModel引用:这个问题是错误的。

如果您要分配RadioButtonListViewModel的实例,可以使用Activator

BaseViewModel c = (BaseViewModel)Activator.CreateInstance(myType1);

我假设您的代码只是真实代码的简化版本。如果没有,你可以使用简单的new

BaseViewModel c = new RadioButtonListViewModel();
相关问题