我有一个空列表,其中包含“audi_b9_aismura”类型的模型,我想用从另一个列表中检索到的对象填充它。
我知道此对象属于指定类型 (audi_b9_aismura),但我无法将其添加到列表中,使用 Convert.Changetype 也不起作用。下面的代码抛出(在设计时)以下错误:无法从“对象”转换为“.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();
最佳答案
为什么不做一个简单的转换:
if (obj is audi_b9_aismura)
{
dataList.Add((audi_b9_aismura)obj);
}
正如 Ben Robinson 在他的评论中所说,Convert.ChangeType()
返回一个 object
,它仍然需要转换为正确的类型。
关于c# 将对象类型转换为模型类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26462937/