簡體   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