如何使用C#返回接口集合对象

时间:2016-06-22 20:08:07

标签: c# interface

我有以下界面,我想将界面集合返回给客户端应用程序。

public class myClass:IDetails
{
    private int id;
    private string name;

    public int ID
    {
        get
        {
            return id;
        }
        set
        {
            id= value;
        }
    }

    public string Name
    {
        get
        {
            return name;
        }
        set
        {
            name= value;
        }
    }
}

目前我使用以下代码

形成对象
IDetails obj = new myClass();
obj.ID = 100;
obj.Name = "Bill"

我读到我可以使用IEnumerable来返回界面集合,感谢您的帮助

3 个答案:

答案 0 :(得分:0)

实施IEnumurable的结构很多。示例是数组或List<T>

例如:

IDetails[] det = new IDetails[1];
List<IDetails> details = new List<IDetails>();
det[0] = new myClass();

答案 1 :(得分:0)

只需创建所需的集合,并使用以下项目初始化

  IDetails[] array = new IDetails[] {
    new myClass() {ID = 100, Name = "Bill"},
    new myClass() {ID = 101, Name = "John"},
  };

  ...

  // if you want IEnumerable<T>
  IEnumerable<IDetails> items = array;

或者

  List<IDetails> list = new List<IDetails>() {
    new myClass() {ID = 100, Name = "Bill"},
    new myClass() {ID = 101, Name = "John"},
  };

  ...

  // if you want IEnumerable<T>
  IEnumerable<IDetails> items = list;

  Dictionary<int, IDetails> dict = Dictionary<int, IDetails>() {
    {100, new myClass() {ID = 100, Name = "Bill"}},
    {101, new myClass() {ID = 101, Name = "John"}}, 
  };

  ...

  // if you want IEnumerable<T>
  IEnumerable<KeyValuePair<int, IDetails>> items = dict;

等。我希望你能看到这种模式。

答案 2 :(得分:0)

您可以将IEnumerable<IDetails>用于此目的,例如

IEnumerable<IDetails> objList = MethodtofilltheList();

return objList;