public LogAbstraction() { if (IsWindows()) { this.recorder = new WindowsLogImplementation(); } else { this.recorder = new FileLogImplementation(); } }
public LogAbstraction2(LogType logType) { switch (logType) { case (LogType.Windows): this.recorder = new WindowsLogImplementation(); break; default: this.recorder = new FileLogImplementation(); break; } }
//Ensure no external classes can create instances private SingletonLogAbstraction() { object obj = Activator.CreateInstance(Type.GetType(typeName)); this.recorder = (BaseLogImplementation)obj; }