У меня есть пользовательские настройки конфигурации.
public class GalleryResizeOptionsElement : ConfigurationElement
{
[ConfigurationProperty("name")]
public string Name
{
get { return (string)this["name"]; }
}
[ConfigurationProperty("width")]
public int Width
{
get { return (int)this["width"]; }
}
[ConfigurationProperty("height")]
public int Height
{
get { return (int)this["height"]; }
}
}
public class GalleryResizeOptionsCollection : ConfigurationElementCollection
{
protected override ConfigurationElement CreateNewElement()
{
return new GalleryResizeOptionsElement();
}
protected override object GetElementKey(ConfigurationElement element)
{
return ((GalleryResizeOptionsElement)element).Name;
}
public override ConfigurationElementCollectionType CollectionType
{
get { return ConfigurationElementCollectionType.BasicMap; }
}
/// <summary>
/// The element name of the configuration elements in the config file,
/// as set at UserCommandConfigurationConstants.ElementName
/// </summary>
protected override string ElementName
{
get { return "add"; }
}
/// <summary>
/// This is a convenience added to allow selection from the collection
/// via the commandkey as an index
/// </summary>
/// <returns></returns>
public GalleryResizeOptionsElement this[string name]
{
get { return (GalleryResizeOptionsElement)this.BaseGet(name); }
}
}
public class GalleryConfigurationSection : ConfigurationSection
{
public virtual GalleryResizeOptionsCollection ResizeOptions
{
get { return (GalleryResizeOptionsCollection) base["resizeOptions"]; }
}
}
Добавьте в файл web.config раздел, содержащий эту конфигурацию xml.
<resizeOptions>
<add name="Square" width="100" height="100" />
<add name="Rectangle" width="200" height="100" />
<add name="Hero" width="600" height="400" />
</resizeOptions>
Для краткости я оставил много другого кода, но думаю, что включил все, что требуется, чтобы задать свой вопрос.
Как мне изменить GalleryResizeOptionsCollection, чтобы я мог вернуть список всех элементов GalleryResizeOptionsElements? Или, проще говоря, я хочу иметь возможность вернуть список всех элементов «add».