【发布时间】:2023-03-08 01:18:01
【问题描述】:
是否有任何实际理由为抽象类创建接口?我遇到过这样的事情:
public interface IEntity<T>
{
T Id { get; set; }
}
public abstract class BaseEntity {
}
public abstract class Entity<T> : BaseEntity, IEntity<T>
{
public virtual T Id { get; set; }
}
我真的不明白这和这段代码有什么区别,因为 IEntity 不是我应该多次使用的东西:
public abstract class BaseEntity {
}
public abstract class Entity<T> : BaseEntity
{
public virtual T Id { get; set; }
}
谢谢!
【问题讨论】:
-
你想完成什么?你的目标是什么,为什么你开始通过这样做来解决你的问题?如果不知道您要解决什么问题,就不可能说出什么是好主意,什么不是。
-
kai,我想描述数据库实体的结构。我认为用通用属性的实现来制作 BaseEntity 类并从中继承其他类会很好。
-
@AlexeyKoptyaev 建议的基类将包含通用属性或方法这一事实对其存在的原因至关重要,您应该在问题中提到这一点。
标签: c# entity-framework code-first