对不起,如果标题不是很具有描述性。我不知道如何描述这一点。首先,我创建了一个这样的界面:public interface IUser {}然后在几个类中实现它,如下所示:public class Student : IUser {}public class Teacher : IUser {}然后我创建了一个需要第一个接口的接口public class IUsers{ List<IUser> Users {get; set;}}然后我创建了一个使用第二个接口的类,但使用第一个接口的一个成员来填充合同。public class Students : IUsers { List<Student> Users {get; set;}}问题是最后一个我想将列表限制为接口的一种实现,但仍然需要维护接口以实现数据兼容性。当我这样做时,我收到一个错误,说我没有实现接口。我认为既然 Student 实现了接口,它就会履行义务,但似乎没有。这是正确的还是我做错了什么
2 回答
紫衣仙女
TA贡献1839条经验 获得超15个赞
根据代码,对我来说,示例似乎表明您希望为用户维护单独的实现,然后返回所需的实现。
public interface IStudentFactory
{
IUser Create();
}
public class StudentFactory
{
public IUser Create() => new StudentContext();
}
然后根据您在 IUser 接口中的实现,您可以连接到您的数据存储来管理这些类型的用户。
var context = new StudentFactory().Create())
var students = context.GetAllStudents();
context.Students.Add(new Student() { });
我提供的方法是基于您希望能够访问有关不同类型用户的信息、持久化和管理的概念。您的示例显示了您正在添加的原始集合,可能会处理其他功能,但我想您正在努力实现更一致的东西。
我可能不符合你的意图,但这就是我的解释。
- 2 回答
- 0 关注
- 122 浏览
添加回答
举报
0/150
提交
取消