C# 實現自己索引器
應用場景
在系統初始化,我們需要載入系統的所有選單顯示到介面。但又需要對單獨的某一個選單進行操作。如點選某個選單,獲取選單的連結,跳轉到該選單對應的介面。
public class MenuCollection
{
private list<Menu> _listMenu;
public MenuCollection()
{
//初始化_listMenu
_listMenu = new list<Menu>();
}
public Menu this[sting finterID]
{
get
{
return _listMenu.Find(menu => menu.FInterID == finterID)
}
}
public void Add(Menu menu)
{
if(!_listMenu.Contains(menu))
{
_listMenu.Add(menu);
menu.MenuSet = this;
}
}
}
public Class Menu
{
public string FInterID{ get; set; }
public string Link{ get; set; }
public MenuCollection MenuSet{ get; internal set;}
}
複製程式碼
這樣既可以從MenuCollection 中得到某一個選單類,也可以從某一個選單類得到整個選單的集合,從而相互依存,類似於DataTable 和 DataRow的關係。