我在C#中有这个模型:
public class interfaceModel
{
public string interfacename { get; set; }
public long id { get; set; }
}
并编写此代码:
public static List<interfaceModel> CompanyInterfaceFetch()
{
var database = new DataBaseDataContext();
var companyinterface = new CompanyInterface();
var interfacelist =
database.CompanyInterfaces.Select(x => new interfaceModel { interfacename = x.InterfaceName, id=x.id});
return interfacelist.ToList();
}
// database model
public class interfaceModel
{
public string interfacename { get; set; }
public long id { get; set; }
}
现在我编写代码来调用该方法:
public static List<interfaceModel> interfacefetch()
{
return Database.CompanyInterfaceFetch();
}
但在这一行:
return Database.CompanyInterfaceFetch();
我收到此错误:
错误CS0029:无法隐式转换类型&#39; System.Collections.Generic.List&#39;到&#39; System.Collections.Generic.List
我该如何解决这个问题?感谢。
答案 0 :(得分:3)
您有两个具有相同名称的单独类。判断命名,这是两者的位置:
这两种类型虽然名称相同,甚至可能具有完全相同的字段,但是不可交换。删除它们中的任何一个并再次编译以检查错误以查看您必须进行的调整。
答案 1 :(得分:0)
您的错误很明确:
错误CS0029无法隐式转换
输入
'System.Collections.Generic.List<Web.Controllers.Database.interfaceModel>'
到
'System.Collections.Generic.List<Web.Models.interfaceModel>'
这两个位置有两种相同的名称。
如果他们有相同的字段,那么你应该删除其中一个。如果它们不同,则需要修复代码中的导入,以便CompanyInterfaceFetch()
和interfacefetch()
引用相同的类型。如有必要,请删除导入并指定完全限定的类名(如异常消息中所示)。
答案 2 :(得分:-1)