我如何创建一个列表与接口实例
本文关键字:列表 一个 接口 实例 创建 何创建 | 更新日期: 2023-09-27 18:05:23
有一个接口:
public Interface IStudent
{
Students students {get;}
Boolean CanStayAfterHours;
}
public enum Students
{
Student1,
Student2,
Student3,
Student4
}
如何将IStudent
属性添加到通用列表?List<IStudent>
?
首先需要有一个实现该接口的类:
public class Student : IStudent {
Students students { get; set; } // set, for example
Boolean CanStayAfterHours { get; set; }
}
然后你可以像这样将它们添加到列表中:
var studentList = new List<IStudent>() {
new Student() { CanStayAfterHours = true },
new Student() { CanStayAfterHours = false, Students = Students.Student1 },
new Student() { CanStayAfterHours = true },
};
你的设计没有多大意义…但是我把这个留给你们自己去想
IList<IStudent>
可用于保存IStudent对象的列表。当然,您需要一个实现IStudent
的class Student
,因为您不能创建接口的实例。枚举的目的是不明确的,您显然不希望每个学生都有一个枚举值,因为每次有新学生注册时,都需要重新构建应用程序。
您需要实现一个实现接口的具体对象
公共类ConcreteStudent: IStudent {
public Students students { get; set; }
public bool CanStayAfterHours { get; set; }
}
一些改变需要的界面,我添加了一些设置到界面,希望这符合你的设计
公共接口IStudent {
Students students { get; set; }
Boolean CanStayAfterHours { get; set; }
}
然后将这些对象添加到列表中,执行以下操作
List<IStudent> students = new List<IStudent>()
students.Add(new ConcreteStudent()
{
students = Students.Student1,
});
interface ListofPatientService{
列表 retriev();
}
class listofServiceDummy : ListofPatientService
{
List<patientmodel> list = new List<patientmodel>
{
new patientmodel(){Name="Abdi", Age= 30, Description=""},
new patientmodel(){Name="HassaN", Age= 40, Description=""},
new patientmodel(){Name="Hasna", Age= 35, Description=""},
new patientmodel(){Name="Moktar", Age= 50, Description=""},
new patientmodel(){Name="Liban", Age= 55, Description=""},
};
}