imd*_*sen 4 .net c# asp.net generics asp.net-mvc-3
我将错误转换为实体
public T Add(T entity)
{
CAFMEntities db = new CAFMEntities();
db.TabMasters.AddObject((TabMaster)entity);
db.SaveChanges();
return entity;
}
Run Code Online (Sandbox Code Playgroud)
它给了我一个错误:
无法将类型'T'转换为'CAFM.Data.EntityModel.TabMaster'
谢谢.
Jon*_*eet 12
那么,您希望如何应用转换?T宣布在哪里?您可以更改它,以便您拥有:
class WhateverClass<T> where T : TabMaster
Run Code Online (Sandbox Code Playgroud)
此时你不需要演员.或者如果你不能约束T
,你可以使用:
db.TabMasters.AddObject((TabMaster)(object) entity);
Run Code Online (Sandbox Code Playgroud)
另一种选择是:
db.TabMasters.AddObject(entity as TabMaster);
Run Code Online (Sandbox Code Playgroud)
虽然我个人并不喜欢这样 - 我更喜欢对演员进行更严格的检查.