[英]How to create list of instances deriving from a base class that implements interface?
[英]How can I create a list with Interface Instances
我有一個界面:
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=""},
};
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.