示例#1
0
        /// <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));
        }
示例#2
0
        /// <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; }
                }
            }
        }