2016-06-22 22 views
-2

我有以下接口,并且希望将接口集合返回给客户端应用程序。如何使用C返回接口集合对象#

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

谢谢,我会尝试使用采集更新我的代码 – Peti

回答

0

有多种实现IEnumurable许多结构。示例是数组或List<T>

例如:

IDetails[] det = new IDetails[1]; 
List<IDetails> details = new List<IDetails>(); 
det[0] = new myClass(); 
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; 

等我希望你看到的模式。

0

您可以使用IEnumerable<IDetails>用于这一目的一样

IEnumerable<IDetails> objList = MethodtofilltheList(); 

return objList;