为了账号安全,请及时绑定邮箱和手机立即绑定

C# 接口不允许成员类满足要求

C# 接口不允许成员类满足要求

C#
蓝山帝景 2021-06-03 16:30:22
对不起,如果标题不是很具有描述性。我不知道如何描述这一点。首先,我创建了一个这样的界面: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() { }); 

我提供的方法是基于您希望能够访问有关不同类型用户的信息、持久化和管理的概念。您的示例显示了您正在添加的原始集合,可能会处理其他功能,但我想您正在努力实现更一致的东西。


我可能不符合你的意图,但这就是我的解释。


查看完整回答
反对 回复 2021-06-05
  • 2 回答
  • 0 关注
  • 122 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信