view Source/Configuration/ElementBase.cs @ 3:1ef98bd70424

!bug 100 +3h Исправление проблемы BLToolkit + mono 3.4
author cin
date Fri, 22 Aug 2014 17:34:46 +0400
parents f990fcb411a9
children
line wrap: on
line source

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; }
		}

		/// <summary>
		/// Gets a value indicating whether an unknown attribute is encountered during deserialization.
		/// </summary>
		/// <returns>
		/// True when an unknown attribute is encountered while deserializing.
		/// </returns>
		/// <param name="name">The name of the unrecognized attribute.</param>
		/// <param name="value">The value of the unrecognized attribute.</param>
		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));}
		}
	}
}