假設我有一個數組或任何其他集合類物質和返回它像以下屬性:命名爲indexer屬性可能嗎?
public class Foo
{
public IList<Bar> Bars{get;set;}
}
現在,我可以寫這樣的事:
public Bar Bar[int index]
{
get
{
//usual null and length check on Bars omitted for calarity
return Bars[index];
}
}
的'酒吧'屬性已經支持指數,讓我有點困惑,你試圖完成什麼。 – 2010-07-20 19:18:31
sure @Anthony'Foo f = new Foo(); f.Bars [0];'哇,我想我現在應該睡覺了! – TheVillageIdiot 2010-07-20 19:20:00
@AnthonyPegram你可能不想公開'Bars'。它可能是一個不應該成爲'Foo'公共API的一部分的實現細節。而且,這暴露的不止是Bars的索引屬性。 'Bars'可能是高度有狀態的,暴露它可能會導致用戶違反'Foo'承諾的不變量。 – Undreren 2017-08-31 07:03:48