2016-06-22 55 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;