枚举操作笔记
public static class EnumHelper
{
//获得描述信息
public static string GetDescription(Enum value)
{
if (value == null)
{
throw new ArgumentException("value");
}
string description = value.ToString();
var fieldInfo = value.GetType().GetField(description);
var attributes =
(EnumDescriptionAttribute[])fieldInfo.GetCustomAttributes(typeof(EnumDescriptionAttribute), false);
if (attributes != null && attributes.Length > 0)
{
description = attributes[0].Description;
}
return description;
}
}
[AttributeUsage(AttributeTargets.Field, AllowMultiple = false)]
public sealed class EnumDescriptionAttribute : Attribute
{
private string description;
public string Description { get { return description; } }
public EnumDescriptionAttribute(string description)
: base()
{
this.description = description;
}
}
public enum ArchiveMode
{
[EnumDescription("自动归档")]
Auto,
[EnumDescription("手动归档")]
Manual
}
public enum test
{
自动=1,
手动=2
}
//增加扩展方法的类
public static class EnumFactory
{
public static void EnumCreater(this ArchiveMode mode)
{
mode.EnumCreater();
}
}
public enum TaskExecStatus
{
[EnumDescription("任务执行未归档")]
unExecute,
[EnumDescription("任务执行归档成功")]
Success,
[EnumDescription("任务执行归档失败")]
Fail,
}
public enum ArchDocStatus
{
[EnumDescription("文件未下载")]
unDownload,
[EnumDescription("文件下载成功")]
Success,
[EnumDescription("文件下载失败")]
Fail,
}
public enum ArchItemStatus
{
[EnumDescription("条目未归档")]
unArchive,
[EnumDescription("条目归档成功")]
ArchiveSuccess,
[EnumDescription("条目归档失败")]
ArchiveFail,
}
public enum ArchExecInfo
{
[EnumDescription("全部成功")]
ExecSuccess,
[EnumDescription("全部失败")]
ExecFail,
[EnumDescription("部分成功")]
ExecNotAllSuccess,
}