/// <summary>Gibt anhand der gespeicherten Settings den passenden Provider zurück.</summary> public IPublishProvider publishProviderBySettings(publishSettings settings) { if (settings == null) { throw new ArgumentException("settings"); } foreach (var type in Assembly.GetExecutingAssembly().GetTypes()) { //Alle Typen die nicht von publishBase erben ignorieren if (type.BaseType != typeof(publishBase)) { continue; } var instance = (IPublishProvider)Activator.CreateInstance(type); if (instance.Id == settings.parentId) { //Passenden Provider gefunden, notwendige Eigenschaften Setzen und Instanz zurückgeben. instance.Session = _session; instance.Settings = settings; return(instance); } } throw new publishFactoryException(string.Format("Für die ID {0} konnte kein publishProvider ermittelt werden.", settings.parentId)); }
/// <summary>Gibt anhand der gespeicherten Settings den passenden Provider zurück.</summary> public IPublishProvider publishProviderBySettings(publishSettings settings) { if (settings == null) throw new ArgumentException("settings"); foreach(var type in Assembly.GetExecutingAssembly().GetTypes()) { //Alle Typen die nicht von publishBase erben ignorieren if(type.BaseType != typeof(publishBase)) continue; var instance = (IPublishProvider)Activator.CreateInstance(type); if(instance.Id == settings.parentId) { //Passenden Provider gefunden, notwendige Eigenschaften Setzen und Instanz zurückgeben. instance.Session = _session; instance.Settings = settings; return instance; } } throw new publishFactoryException(string.Format("Für die ID {0} konnte kein publishProvider ermittelt werden.", settings.parentId)); }