// #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); } }