您的位置:首页 > 其它

自定义特性的使用--扩展enum的使用

2016-04-02 14:00 337 查看
1、建立自定义特性

public class RemarkAttribute : Attribute
{
public RemarkAttribute(string remark)
{
_Remark = remark;
}

private string _Remark;

public string Remark
{
get
{
return _Remark;
}
}
}


2、建立enum

public enum UserState
{
/// <summary>
/// 正常
/// </summary>
[Remark("正常")]
Normal = 0,
/// <summary>
/// 冻结
/// </summary>
[Remark("Frozen")]
Frozen = 1,
/// <summary>
/// 删除
/// </summary>
[Remark("删除")]
Delete = 2
}


3、建立Enum扩展

public static class RemarkExtend
{
public static string GetRemark(this Enum eValue)
{
Type type = eValue.GetType();
FieldInfo field = type.GetField(eValue.ToString());
RemarkAttribute remarkAttribute = (RemarkAttribute)field.GetCustomAttribute(typeof(RemarkAttribute));
return remarkAttribute.Remark;

}
}


4、直接使用自定义特性

UserState state = UserState.Normal;
string result= state.GetRemark();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: