枚举操作笔记

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

posted on 2015-11-19 11:37  编程笑笑生  阅读(176)  评论(0编辑  收藏  举报

导航