0

所以说我有一个 ViewModel 叫

示例视图模型

其中包含 3 个实体,称为

实体一

实体二

实体三

现在我在控制器动作中有一个动作,看起来有点像这样

public ActionResult TestAction(string Destination)
{
     SampleViewModel sampleViewModel = new SampleViewModel();
}

现在我希望能够根据字符串“Destination”的设置来选择特定实体。Destination 将始终设置为“entityOne”、“entityTwo”或“entityThree”。所以基本上我想打电话

sampleViewModel.entityOne

如果字符串包含“entityOne”。

所以在影响我说

sampleViewModel.Destination //Where destination is equal to the one entity in the ViewModel

我怎样才能做到这一点?

谢谢

4

2 回答 2

2

您可以使用反射来获取,假设您Entity在这里有课程:

var entity = (Entity) typeof (SampleViewModel)
                             .GetProperty(Destination)
                             .GetValue(sampleViewModel);
于 2013-05-15T11:35:59.313 回答
0

您可以使用反射。例如,如果 etity 是某个属性,您可以执行以下操作来获取其值:

public ActionResult TestAction(string Destination)
{
     SampleViewModel sampleViewModel = new SampleViewModel();
     var value = typeof(SampleViewModel).GetProperty(Destination).GetValue(sampleViewModel);
}

只要确保正确处理异常。

于 2013-05-15T11:36:36.303 回答