Ejemplo n.º 1
0
 //
 #endregion         // Public
 //-------------------------------------------------------------------------
 #region Private
 //
 T[] LoadFrom(AppDomain domain, string fName)
 {
     if (string.IsNullOrEmpty(fName))
     {
         return(null);
     }
     //
     if (!File.Exists(fName))
     {
         return(null);
     }
     //
     try
     {
         LibraryLoader <T> loader = (LibraryLoader <T>)domain.CreateInstanceAndUnwrap(typeof(LibraryLoader <T>).Assembly.FullName, typeof(LibraryLoader <T>).FullName);
         if (CommonDll != null)
         {
             for (int i = 0; i < CommonDll.Length; i++)
             {
                 if (!File.Exists(CommonDll[i]))
                 {
                     continue;
                 }
                 //
                 loader.LoadLibrary(CommonDll[i]);
             }
         }
         loader.LoadLibrary(fName);
         T[] types = loader.GetPlugins();
         return(types);
     }
     catch
     {
         return(null);
     }
 }