Provides a description for an enumerated type.
/********************************************************************** * Copyright (c) 2008, j. montgomery * * All rights reserved. * * * * Redistribution and use in source and binary forms, with or without * * modification, are permitted provided that the following conditions * * are met: * * * * + Redistributions of source code must retain the above copyright * * notice, this list of conditions and the following disclaimer. * * * * + Redistributions in binary form must reproduce the above copyright* * notice, this list of conditions and the following disclaimer * * in the documentation and/or other materials provided with the * * distribution. * * * * + Neither the name of j. montgomery's employer nor the names of * * its contributors may be used to endorse or promote products * * derived from this software without specific prior written * * permission. * * * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS* * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS * * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE * * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,* * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,* * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED* * OF THE POSSIBILITY OF SUCH DAMAGE. * **********************************************************************/ using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace UpdateDnsOMatic.Utility { /// <summary> /// Provides a description for an enumerated type. /// </summary> [AttributeUsage(AttributeTargets.Enum | AttributeTargets.Field, AllowMultiple = false)] public sealed class EnumDescriptionAttribute : Attribute { private string _description; private string _detailedDescription; /// <summary> /// Gets the description stored in this attribute. /// </summary> /// <value>The description stored in the attribute.</value> public string Description { get { return this._description; } } /// <summary> /// Gets the detailed description stored in this attribute. /// </summary> /// <value>The detailed description stored in the attribute.</value> public string DetailedDescription { get { return this._detailedDescription; } } /// <summary> /// Initializes a new instance of the /// <see cref="EnumDescriptionAttribute"/> class. /// </summary> /// <param name="description">The description to store in this attribute.</param> public EnumDescriptionAttribute(string description) : base() { this._description = description; this._detailedDescription = string.Empty; } public EnumDescriptionAttribute(string description, string detailedDescription) : base() { this._description = description; this._detailedDescription = detailedDescription; } } }