自定义特性的使用--扩展enum的使用
2016-04-02 14:00
337 查看
1、建立自定义特性
2、建立enum
3、建立Enum扩展
4、直接使用自定义特性
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();
相关文章推荐
- Python跳出多重循环的方法
- LeetCode 121, 122, 123. Best Time to Buy and Sell Stock i, ii, iii
- 使用zen coding、gulp、livereload、sass提高前端编码效率
- 【USACO 5.5.3】Two Five
- 烷烃同分异构的种类
- 剑指offer:重建二叉树
- Android SurfaceView类的使用
- (Eclipse)调试符号
- Android Binder 简单理解
- C#与数据结构--图的遍历
- HTML格式化
- 网络营销包括什么?
- asp.net mvc源码分析-ModelValidatorProviders 客户端的验证
- shanquan2的两年三题系列
- 商翼ERC电气行业解决方案
- 答大二学生:坚持正确方向,改变学习方式
- CSS3/jQuery自己定义弹出窗体
- JAVA安全模型
- Xamarin.forms 自定义tabview控件
- Android OOM分析总结