// // methods // /// <summary> /// Adds a custom provider to the configured set of providers /// </summary> /// <param name="providerName"></param> /// <param name="implemementation"></param> internal void Add(string providerName, DBProviderImplementation implemementation) { DBProviderImplementationConfigElement ele = new DBProviderImplementationConfigElement( providerName, implemementation.GetType().AssemblyQualifiedName, implemementation); this.Implementations.Add(ele); }
// // collection modification methods // /// <summary> /// Adds a new implementation by taking the values from the instance itself and adding to the collection. /// It is an error if there is already an implementation with the same name (case in-sensitive) /// </summary> /// <param name="imp">The implementation to add</param> public void Add(DBProviderImplementation imp) { string name = imp.ProviderName; string typename = imp.GetType().AssemblyQualifiedName; DBProviderImplementationConfigElement ele = new DBProviderImplementationConfigElement( name, typename, imp); this.Add(ele); }
/// <summary> /// Gets the implementation from the configured collection with the specified name /// </summary> /// <param name="providername"></param> /// <returns></returns> internal DBProviderImplementation Get(string providername) { DBProviderImplementationConfigElement ele = this.Implementations.Get(providername); if (null == ele) { throw new NullReferenceException(String.Format(Errors.NoProviderImplementationWithTheName, providername)); } return(ele.Implementation); }
/// <summary> /// Adds a configured element to the collection /// </summary> /// <param name="element"></param> internal void Add(DBProviderImplementationConfigElement element) { this.BaseAdd(element); }