老老鼠

博客园 首页 新随笔 联系 订阅 管理
代码
 1     /// <summary>
 2     /// 自定义属性
 3     /// </summary>
 4     [AttributeUsage(AttributeTargets.All, Inherited = false)]
 5     public sealed class CustomAttribute : Attribute {
 6         private string _UserName = null;
 7 
 8         /// <summary>
 9         /// 只对必填参数使用构造函数赋值
10         /// 避免提供构造函数参数来对可选属性(可选参数)进行初始化
11         /// 避免对自定义属性的构造函数进行重载,只定义一个构造函数可以清楚的告诉用户哪些参数是必填的,哪些参数是可选的
12         /// 要尽可能将自定义属性类密封起来,这样会使查找更快
13         /// </summary>
14         /// <param name="userName">必填参数</param>
15         public CustomAttribute(string userName) {
16             this._UserName = userName;
17         }
18 
19         /// <summary>
20         /// 必填参数
21         /// </summary>
22         public string UserName { get { return this._UserName; } }
23 
24         /// <summary>
25         /// 可选参数
26         /// </summary>
27         public int Age { getset; }
28     }

 

posted on 2010-07-31 18:12  大老鼠  阅读(539)  评论(0编辑  收藏  举报