C# 枚举的使用

时间:2024-07-12 13:05:20

/// <summary>
    /// 枚举的使用
    /// 主要功能:使用枚举的值DataTypeId.Money,获取对应的Money字符串。
    /// </summary>
    public enum DataTypeId
    {
        [StringValue("Money")]
        Money = 0,
        [StringValue("Number")]
        Number = 1,
        [StringValue("Datetime")]
        Datetime = 2,
        [StringValue("LongText")]
        LongText = 3,
        [StringValue("ShortText")]
        ShortText = 4,
        [StringValue("IdeaType")]
        IdeaType = 5,
        [StringValue("Status")]
        Status = 6
    }

//继承自定义基数的类
    public class StringValue : System.Attribute
    {
        private string _value;
        public StringValue(string value)
        {
            _value = value;
        }

public string Value
        {
            get { return _value; }
        }
    }

//使用枚举的值DataTypeId.Money,获取对应的Money字符串
    public class StringEnum
    {
        public static string GetStringValue(Enum value)
        {
            string output = null;
            Type type = value.GetType();

FieldInfo fi = type.GetField(value.ToString());
            StringValue[] attrs = fi.GetCustomAttributes(typeof(StringValue),false) as StringValue[];
            if (attrs.Length > 0)
            {
                output = attrs[0].Value;
            }
            return output;
        }

}