using System; namespace Abp.Configuration { /// /// Defines interface to use a dictionary to make configurations. /// public interface IDictionaryBasedConfig { /// /// Used to set a string named configuration. /// If there is already a configuration with same , it's overwritten. /// /// Unique name of the configuration /// Value of the configuration /// Returns the passed void Set(string name, T value); /// /// Gets a configuration object with given name. /// /// Unique name of the configuration /// Value of the configuration or null if not found object Get(string name); /// /// Gets a configuration object with given name. /// /// Type of the object /// Unique name of the configuration /// Value of the configuration or null if not found T Get(string name); /// /// Gets a configuration object with given name. /// /// Unique name of the configuration /// Default value of the object if can not found given configuration /// Value of the configuration or null if not found object Get(string name, object defaultValue); /// /// Gets a configuration object with given name. /// /// Type of the object /// Unique name of the configuration /// Default value of the object if can not found given configuration /// Value of the configuration or null if not found T Get(string name, T defaultValue); /// /// Gets a configuration object with given name. /// /// Type of the object /// Unique name of the configuration /// The function that will be called to create if given configuration is not found /// Value of the configuration or null if not found T GetOrCreate(string name, Func creator); } }