/// <summary> /// This method finds all classes implementing the IAutoConfigOutputController interface and uses the member of this interface to detect and configure IOutputController objects automatically. /// </summary> public void AutoConfig() { Log.Write("Cabinet auto configuration started"); General.TypeList Types = new General.TypeList(AppDomain.CurrentDomain.GetAssemblies().ToList().SelectMany(s => s.GetTypes()).Where(p => typeof(IAutoConfigOutputController).IsAssignableFrom(p) && !p.IsAbstract)); foreach (Type T in Types) { IAutoConfigOutputController AutoConfig = (IAutoConfigOutputController)Activator.CreateInstance(T); AutoConfig.AutoConfig(this); } Log.Write("Cabinet auto configuration finished"); }
/// <summary> /// This method finds all classes implementing the IAutoConfigOutputController interface and uses the member of this interface to detect and configure IOutputController objects automatically. /// </summary> public void AutoConfig() { Log.Write("Cabinet auto configuration started"); General.TypeList Types = new General.TypeList(AppDomain.CurrentDomain.GetAssemblies().ToList().SelectMany(s => s.GetTypes()).Where(p => typeof(IAutoConfigOutputController).IsAssignableFrom(p) && !p.IsAbstract)); foreach (Type T in Types) { try { IAutoConfigOutputController AutoConfig = (IAutoConfigOutputController)Activator.CreateInstance(T); AutoConfig.AutoConfig(this); } catch (Exception E) { Log.Exception("A exception occured during auto configuration for output controller(s) of type {0}.".Build(T.Name), E); } } Log.Write("Cabinet auto configuration finished"); }