c# - 没有从 X 到 Y 的隐式引用转换
问题描述
我在这个类声明上有一个错误:
public class MenuItemEstablishmentsRepository : VeganItemEstablishmentsRepository<MenuItem, Restaurant, MenuItemTag>
{
错误:
类型“Vepo.Domain.MenuItem”不能用作泛型类型或方法“VeganItemEstablishmentsRepository<TVeganItem, TEstablishment, TVeganItemTag>”中的类型参数“TVeganItem”。没有从 'Vepo.Domain.MenuItem' 到 'Vepo.Domain.VeganItem<Vepo.Common.Enums.MenuItemTag, Vepo.Domain.VeganItemEstablishment<Vepo.Domain.MenuItem, Vepo.Domain.Restaurant>>' 的隐式引用转换. [Vepo.数据]
MenuItem
和VeganItem
:
[ElasticsearchType(RelationName = "menuitem", IdProperty = "Id")]
public class MenuItem : VeganItem<MenuItemTag, MenuItemEstablishment>
{
}
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Nest;
using Newtonsoft.Json;
namespace Vepo.Domain
{
[Serializable]
public abstract class VeganItem<TVeganItemTag, TVeganItemEstablishment> : DomainEntity<int>
{
[Required]
public string Name { get; set; }
[Required]
public string CompanyName { get; set; }
[Required]
public string Description { get; set; }
public string Image { get; set; }
[Required]
public int IsNotVeganCount { get; set; } = 0;
[Required]
public int IsVeganCount { get; set; } = 0;
[Required]
public int RatingsCount { get; set; } = 0;
[Required]
public int Rating { get; set; }
[Required]
public List<TVeganItemTag> Tags { get; set; }
[PropertyName("veganItemEstablishments", Ignore = true)]
public virtual ICollection<TVeganItemEstablishment> VeganItemEstablishments { get; set; }
}
}
为什么不能转换MenuItem
为VeganItem
whenMenuItem
继承自VeganItem
?解决此错误的方法是什么?
超级仓库:
public abstract class VeganItemEstablishmentsRepository
<TVeganItem, TEstablishment, TVeganItemTag> :
Repository<VeganItemEstablishment<TVeganItem, TEstablishment>, int>
where TVeganItem : VeganItem<TVeganItemTag, VeganItemEstablishment<TVeganItem, TEstablishment>>
where TEstablishment : Establishment<VeganItemEstablishment<TVeganItem, TEstablishment>>
解决方案
推荐阅读
- batch-file - 如何使用批处理文件关闭指定打开的文件夹
- r - 循环以加载或安装包不起作用。我究竟做错了什么?
- css - 在Firefox中删除范围输入中的虚线
- python - PyMC3 的安装问题
- php - 从供应商外部文件夹中的自动加载类中的供应商文件夹加载类
- asp.net-mvc - 当 ASP.NET_SessionId 得到创建
- spotfire - 如果它们位于日期/时间范围内,则显示行数
- segmentation-fault - 这个分段错误的原因在哪里,在 item_choice_i/item_choice_k 变量中输入了 1?
- opengl - 如何在 Forth 中用 OpenGL 画一条线?
- email - DMARC:ESP 主机作为报告中的发件人