public static void RegisterVersionLogger <T>(IVersionLogger <T> versionLogger) where T : DirectoryResource { lock (loggers) { loggers[typeof(T)] = versionLogger; } }
public static IVersionLogger <T> ResolveVersionLogger <T>() where T : DirectoryResource { IVersionLogger <T> logger = null; var type = typeof(T); if (loggers.ContainsKey(type)) { logger = (IVersionLogger <T>)loggers[type]; } if (logger == null) { throw new KoobooException(string.Format("There has not version logger for '{0}'".Localize(), type)); } return(logger); }