我想解決的問題是能夠定義List數據來自注入數據源,但列表必須可以在整個應用程序中訪問。列出globaly可訪問所有與DI獲取數據的應用程序
現在我有這個類:
public class InmutableLists
{
public static List<Empresa> ListaEmpresas = new EmpresaRepositorioBD().ObtenerEmpresas().ToList();
public static List<Sala> ListaSalas = new SalaRepositorioBD().ObtenerSalas().ToList();
public static List<Maquina> ListaMaquinas = new MaquinasRepositorioBD().ObtenerMaquinas().ToList();
public static List<Tecnica> ListaTecnicas = new TecnicasRepositorioBD().ObtenerTecnicas().ToList();
}
的問題是,數據源是明確XX_RepositorioBD,我對這些列表(文件,XML等),我想能夠使用Ninject多個數據源注入適當的數據源。因此而不是使用IEmmpresaRepositorio的EmpresaRepositorioBD。像:
public static List<Empresa> ListaEmpresas = new IEmpresaRepositorio.ObtenerEmpresas().ToList();
但我不明白。我嘗試了[注入]名單和一個單身人士,但它沒有奏效。最後我需要喂一些UI組件:
comboBoxModel.Datos = InmutableLists.ListaMaquinas;
有什麼建議嗎?現在它正在工作,但與BD源數據相結合。
因此,東西是刪除列表上的靜態運算符並使用ToConstant運算符?我可以用相同的方式訪問列表嗎? InmutableList.Lista? – amalbala
不,事情是你需要實現一個特定的列表類型('EmpresaList'),因爲ninject否則認爲它是「多重綁定」。我用一個例子更新了答案。 – BatteryBackupUnit