2010-03-09 31 views
1

我有一個這樣的接口成員。需要陣列接口成員的示例函數工具

AppInterface.cs

ObjLocation[] ArrayLocations { get; }

App.cs

public ObjLocation[] ArrayLocations 
     { 
      get 
      { 
       return **something**; 
      } 
     } 

我不知道如何去完成它,還是有實現陣列成員的另一種方式。

然後它可以通過編譯器。謝謝。

回答

2

嗯,你只是返回數組:

public ObjLocation[] ArrLocations 
{ 
    get 
    { 
     ObjLocation[] locations = new ObjLocation[10]; 
     // Fill in values here 
     return locations; 
    } 
} 

或者,如果你已經有了一個List<ObjLocation>,你可以這樣做:

public ObjLocation[] ArrLocations 
{ 
    get 
    {    
     return locationList.ToArray(); 
    } 
} 

這是很難知道什麼建議你爲財產主體編寫,當我們不知道該財產是什麼意思或你有什麼數據。

你應該考慮的一件事非常如果調用者更改數組內容,會發生什麼情況。如果你的班級中有一個數組,並且你只是返回一個參考,那麼調用者可以混淆你的數據 - 這可能不是你想要的。沒有辦法返回「只讀」數組,因爲沒有這樣的概念 - 這是他們的原因之一considered somewhat harmful。 (如果界面指定您必須返回IList<ObjLocation>IEnumerable<ObjLocation>,則會更好。)

如果這還不足以解決您的問題,請提供更多信息。

+0

已經幫了很多。非常感謝。 – 2010-03-09 06:34:19

1

return new ObjLocation[size]return new ObjLocation[] { objLocationInstance1, objLocationInstance2, ... }

相關問題