我有以下抽象类和接口:
public interface ITypedEntity{
TypedEntity Type { get; set; }
}
public abstract class TypedEntity:INamedEntity{
public abstract int Id{get;set;}
public abstract string Name { get; set; }
}
但是当我尝试创建一个实现 ITypedEntity 并具有 TypedEntity 的具体实现的类时,我收到以下错误
Magazine does not implement interface member ITypedEntity.Type. Magazine.Type cannot implement 'ITypedEntity.Type' because it does not have the matching return type of 'TypedEntity'
我的具体实现的代码如下
public class Magazine:INamedEntity,ITypedEntity
{
public int Id {get;set;}
[MaxLength(250)]
public string Name {get;set;}
public MagazineType Type { get; set; }
}
public class MagazineType : TypedEntity
{
override public int Id { get; set; }
override public string Name { get; set; }
}
我想我明白发生了什么,但我不知道为什么,因为 MagazineType 是一个 TypedEntity。
谢谢。
更新 1 我不得不提到我想将这些类与 EF CodeFirst 一起使用,并且我希望为每个实现 ITypedEntity 的类创建一个不同的表。