C#这是一个列表或接口还是完全不同的东西?

时间:2017-05-28 18:50:22

标签: c# interface

public interface IPersonRepository
{
    IEnumerable<Person> GetPeople();
}

当我遇到这个方法骨架时,正在学习C#。如果这是一个愚蠢的问题,请原谅我,但这种方法的返回类型是什么?换句话说,什么是IEnumerable<Person>?

列表,界面,界面列表或其他完整的东西?

3 个答案:

答案 0 :(得分:0)

IEnumerable是Lists等实现的接口 它类似于IList,但它不一样。 你知道它的界面是因为名字中的“我”

答案 1 :(得分:0)

GetPeople()是一个界面 其内容是函数IEnumerable<Person>,它返回IEnumerable<>类型的对象 Person是一个通用接口,此处用于具有类// Get refreence to span and button var spn = document.getElementById("count"); var btn = document.getElementById("btnCounter"); var count = 5; // Set count var timer = null; // For referencing the timer (function countDown(){ // Display counter and start counting down spn.textContent = count; // Run the function again every second if the count is not zero if(count !== 0){ timer = setTimeout(countDown, 1000); count--; // decrease the timer } else { // Enable the button btn.removeAttribute("disabled"); } }());的具体实现。

答案 2 :(得分:0)

IEnumerable是一个Generic Collection,它有一个Person类型。所以你的方法GetPeople()返回一个Person对象列表。 IPersonRepository是一个接口,因此任何实现类都将有一个方法GetPeople()。

使用List的示例,它实现了IEnumerable:

class PersonRepository : IPersonRepository{
    public IEnumerable<Person> GetPeople() {
        var people = new List<Person>();
        people = // Wherever you get them from.
        return people;
    }