我有一个空的列表与模型的类型'audi_b9_aismura',我想填充一个对象,我从另一个列表中检索。c#从对象转换为模型类型
我知道这个对象是指定的类型(audi_b9_aismura),但我不能将它添加到列表中,使用Convert.Changetype也不起作用。下面的代码抛出(在设计时)出现以下错误:无法从'object'转换为'.audi_B9_aismura'。
List<audi_b9_aismura> dataList = new List<audi_b9_aismura>();
if (obj.GetType().Equals(typeof(audi_b9_aismura)))
{
dataList.Add(Convert.ChangeType(obj, typeof(audi_b9_aismura)));
}
我也试过了,这也不管用。
audi_b9_aismura testVar = Convert.ChangeType(obj, typeof(audi_b9_aismura));
而且,它将其转换成可以,但是当添加它时再次表明它是类型对象。
var testVar = Convert.ChangeType(obj, typeof(audi_b9_aismura));
dataList.Add(testVar);
如果我在一个字符串填充它检索对象的类型,它返回正确的类型(audi_b9_aismura)
string result = Convert.ChangeType(obj, typeof(audi_b9_aismura)).GetType().ToString();
'Convert.ChangeType()'返回一个对象,你仍然需要将它转换为正确的类型,因为在这种情况下,转换是你所需要做的,'Convert.ChangeType'没有任何用处。 – 2014-10-20 10:09:26
如果你只是想将项目从一种类型转换为另一种类型,你可以使用LINQ的Cast <>或OfType <>运算符 – 2014-10-20 10:19:25
我觉得很奇怪,字符串结果被填充了正确的类型。我是C#编程的新手,所以可能我错误地理解了,但是如果我从“对象”中获取类型并将其设置为我想要的类型(audi_b9_aismura),那么如何才能将其设置为类型我尝试用它填充一个变量? – DaGrooveNL 2014-10-20 10:30:46