Mercurial > pub > bltoolkit
view Source/Reflection/Extension/AttributeExtension.cs @ 0:f990fcb411a9
Копия текущей версии из github
author | cin |
---|---|
date | Thu, 27 Mar 2014 21:46:09 +0400 |
parents | |
children |
line wrap: on
line source
using System; namespace BLToolkit.Reflection.Extension { public class AttributeExtension { public AttributeExtension() { Values = new ValueCollection(); } private AttributeExtension(ValueCollection values) { Values = values; } public string Name { get; set; } public ValueCollection Values { get; private set; } public object Value { get { return this == _null? null: Values.Value; } } public object this[string valueName] { get { return this == _null? null: Values[valueName]; } } public object this[string valueName, object defaultValue] { get { return this[valueName] ?? defaultValue; } } private AttributeNameCollection _attributes; public AttributeNameCollection Attributes { get { return _attributes ?? (_attributes = new AttributeNameCollection()); } } private static readonly AttributeExtension _null = new AttributeExtension(ValueCollection.Null); public static AttributeExtension Null { get { return _null; } } } }