/// <summary> /// Constructor /// </summary> static EnCll() { // Generamos las instancias con comportamiento DEFAULT Moviles = new Cll.Def.Moviles(); // Cargamos la DLL LoadDll(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)); }
/// <summary> /// Genera una instanacia de la clase indicada /// </summary> /// <param name="p_strPath">Path de carga</param> public static void LoadDll(string p_strPath) { // Obtenermos la lista de clases "Exportadas" por la CLL string l_strCll = Path.Combine(p_strPath, "Mrln.Cll.dll"); if (!File.Exists(l_strCll)) { return; } Assembly l_asmCll = Assembly.LoadFile(l_strCll); Type[] l_tpClasess = l_asmCll.GetExportedTypes(); foreach (Type l_tpClase in l_tpClasess.Where(unTipo => unTipo.Namespace == "Mrln.Cll")) { // Instanaciamos las que existan en la CLL switch (l_tpClase.Name) { case "Moviles": { Moviles = (Cll.Def.Moviles)GetInstance(l_tpClase); break; } } } }