/// <summary>Metadata configure of the new configuration entity with provided key access function</summary> /// <param name="name">Name of the configuration entity</param> /// <returns>Registered container for the given configuration entity. It can be used for nested entities configuration.</returns> public ConfigurationMetaNode MetaDataConfigure <TEntity>(string name) { if (Manager.IsInitialized) { throw new InvalidOperationException(Resources.Strings.WriterLockNotHeld); } if (_metaDataByName.ContainsKey(name)) { throw new InvalidOperationException(string.Format(Resources.Strings.MetaDataConfigDuplicateByName, name)); } var mdConfigInfo = new MetaDataConfigurationInfoWithName <TEntity>(name); var mdChildNode = new ConfigurationMetaNode(Manager, this, mdConfigInfo); _metaDataByName.Add(name, mdConfigInfo); _childNodesByName.Add(name, mdChildNode); return(mdChildNode); }
internal ConfigurationMetaNode(ConfigurationManager manager, ConfigurationMetaNode parent, IMetaDataConfigurationInfo configMetadata) : this(manager, parent) { _configMetadata = configMetadata; }
internal ConfigurationMetaNode(ConfigurationManager manager, ConfigurationMetaNode parent) { Manager = manager; Parent = parent; }