static TotalCommanderPluginHolder() { try { var path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); foreach (var file in Directory.GetFiles(path, "*.dll")) { if (string.Compare(Assembly.GetExecutingAssembly().Location, file, true) == 0) continue; var assembly = Assembly.LoadFrom(file); foreach (var type in assembly.GetExportedTypes()) { var interfaces = type.GetInterfaces(); if (Array.Exists(interfaces, i => i == typeof(ITotalCommanderWfxPlugin))) { wfx = (ITotalCommanderWfxPlugin)Activator.CreateInstance(type); return; } if (Array.Exists(interfaces, i => i == typeof(ITotalCommanderWcxPlugin))) { wcx = (ITotalCommanderWcxPlugin)Activator.CreateInstance(type); return; } } } } catch { } }
static TotalCommanderPluginHolder() { try { var path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); foreach (var file in Directory.GetFiles(path, "*.dll")) { if (string.Compare(Assembly.GetExecutingAssembly().Location, file, true) == 0) { continue; } var assembly = Assembly.LoadFrom(file); foreach (var type in assembly.GetExportedTypes()) { var interfaces = type.GetInterfaces(); if (Array.Exists(interfaces, i => i == typeof(ITotalCommanderWfxPlugin))) { wfx = (ITotalCommanderWfxPlugin)Activator.CreateInstance(type); return; } if (Array.Exists(interfaces, i => i == typeof(ITotalCommanderWcxPlugin))) { wcx = (ITotalCommanderWcxPlugin)Activator.CreateInstance(type); return; } } } } catch { } }