using System;
using System.Collections.Specialized;
using System.Configuration;
namespace BLToolkit.Configuration
{
internal abstract class ElementBase : ConfigurationElement
{
protected ConfigurationPropertyCollection _properties = new ConfigurationPropertyCollection();
protected override ConfigurationPropertyCollection Properties
{
get { return _properties; }
}
///
/// Gets a value indicating whether an unknown attribute is encountered during deserialization.
///
///
/// True when an unknown attribute is encountered while deserializing.
///
/// The name of the unrecognized attribute.
/// The value of the unrecognized attribute.
protected override bool OnDeserializeUnrecognizedAttribute(string name, string value)
{
ConfigurationProperty property = new ConfigurationProperty(name, typeof(string), value);
_properties.Add(property);
base[property] = value;
Attributes.Add(name, value);
return true;
}
private NameValueCollection _attributes;
public NameValueCollection Attributes
{
get { return _attributes ?? (_attributes = new NameValueCollection(StringComparer.OrdinalIgnoreCase));}
}
}
}