/// <summary> /// Registers the specified type with the specified XML name and /// namespace URI. /// </summary> /// <typeparam name="T"> /// The type of the class to be registered, deriving from /// <see cref="Element"/>. /// </typeparam> /// <param name="xml">The XML information of the element.</param> /// <exception cref="ArgumentNullException">xml is null.</exception> /// <exception cref="ArgumentException"> /// The type has already been registered or another type with the /// same XML name and namespace URI has been already registered. /// </exception> public static void Register <T>(XmlComponent xml) where T : Element { Check.IsNotNull(xml, nameof(xml)); RegisterType(xml.Clone(), typeof(T)); // Don't store what the user passed us }
/// <summary> /// Registers the specified type with the specified XML name and /// namespace URI. /// </summary> /// <typeparam name="T"> /// The type of the class to be registered, deriving from /// <see cref="Element"/>. /// </typeparam> /// <param name="xml">The XML information of the element.</param> /// <exception cref="ArgumentNullException">xml is null.</exception> /// <exception cref="ArgumentException"> /// The type has already been registered or another type with the /// same XML name and namespace URI has been already registered. /// </exception> public static void Register <T>(XmlComponent xml) where T : Element { if (xml == null) { throw new ArgumentNullException("xml"); } RegisterType(xml.Clone(), typeof(T)); // Don't store what the user passed us }