在下面的示例中,我有一个称为GetList的方法,它接受一个字符串参数并返回一个List实体。我在一个通用的IEnumerable变量中捕获它,因为在运行时我不知道用户可能需要什么实体。我如何使用实际的类型而不是对象?IEnumerable变量类型
我要取代这个...
IEnumerable<object> data = GetList(entityName);
有了这个...
IEnumerable<Company> data = GetList(entityName);
我能想到的处理是正确的,现在该我不打算这样做的唯一途径因为我们有300多个实体是一样的东西
switch(entitName)
{
case "Company":
IEnumerable<Company> data = GetList(entityName);
break;
case "Employee":
IEnumerable<Employee> data = GetList(entityName);
break;
...
}
'GetList(entityName).Cast()' –
虽然我不知道它会是公司。它可能是员工或角色等..我唯一的信息是一个字符串(entityName)表示他们想要查询的实体。 – jjf1978
那么,在这种情况下,你应该保持你的对象。编译器也不会为你知道。你将不得不做出一些类型的猜测来知道你正在使用什么类型。或者您需要向我们提供代码执行的环境,以便我们找到解决方法。 –