c# 将对象类型转换为模型类型

标签 c# model-view-controller changetype

我有一个空列表,其中包含“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/

相关文章:

c# - AWS CloudWatch 日志记录在一台机器上运行,而不是在另一台机器上

c# - Unity销毁实例化克隆停止实例化

ios - Apple 是否违反了 iOS 8 上 MailboxContentViewCell.h 中的 MVC 规则?

.net - 为什么 Convert.ChangeType 采用对象参数?

c# - 如何在计算机锁定时按键盘键

c# - 如何将二进制转换为字符串?

css - 如何在mvc3中动态改变主题

ruby-on-rails - 将 form_for 与嵌套资源结合使用

c# - Convert.ChangeType() 对字符串值有意义吗?