Has*_*ion 2 c# inheritance interface
我想实现以下结构:
public interface IMyDbSet
{
IEnumerable<User> Users { get; }
}
public class ConcreteDbSet : IMyDbSet
{
DbSet<User> Users { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
虽然DbSet<T>从中继承IEnumerable<T>是不可能的.
Visual Studio错误消息:
....没有实现接口成员'....'.'...'无法实现'....',因为它没有匹配的返回类型'....'.
有没有其他方法来实现这样的结构或者根本不可能这样做?
谢谢.
最简单的方法是明确地实现接口并Users从explicit Users属性返回隐式属性的值.
public interface IMyDbSet
{
IEnumerable<User> Users { get; }
}
public class ConcreteDbSet : IMyDbSet
{
IEnumerable<User> IMyDbSet.Users
{
get { return Users; }
}
DbSet<User> Users
{
get; set;
}
}
Run Code Online (Sandbox Code Playgroud)