繁体   English   中英

如何使用接口实例创建列表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM