/// <summary> /// Converts a <see cref="Krb5Config"/> instance into a <see cref="ConfigurationSectionList" /> for possible future serialization. /// </summary> /// <param name="config"></param> /// <returns></returns> public static ConfigurationSectionList FromConfigObject(Krb5Config config) { if (config is null) { throw new ArgumentNullException(nameof(config)); } var list = new ConfigurationSectionList(); foreach (var property in config.GetType().GetProperties()) { var section = property.GetValue(config); list.Add(AddSection(section, property)); } return(list); }
/// <summary> /// Converts a <see cref="Krb5Config"/> instance into a <see cref="ConfigurationSectionList" /> for possible future serialization. /// </summary> /// <param name="config">The configuration instance to load</param> /// <param name="serializationConfig">Serializer configuration options</param> /// <returns>Returns a sectioned version of the configuration</returns> public static ConfigurationSectionList FromConfigObject(Krb5Config config, Krb5ConfigurationSerializationConfig serializationConfig) { if (config is null) { throw new ArgumentNullException(nameof(config)); } if (serializationConfig == null) { serializationConfig = new Krb5ConfigurationSerializationConfig(); } var list = new ConfigurationSectionList(); foreach (var property in config.GetType().GetProperties(PublicInstancePropertyFlags)) { var section = property.GetValue(config); list.Add(AddSection(section, property, serializationConfig)); } return(list); }