日期:2014-05-17  浏览次数:20430 次

属性(说明)可以这样写?

属性(说明)可以这样写?为什么。。。
//1、
C# code

  [Category("自定义属性")] //**这样 ?
  [Browsable(true)]        //**
  [DefaultValue(24)]
  [Description("获取或者设置显示控件每页显示的条数。")]//**
  public int PageRecordCount
  {
       get { return this._pageRecord; }
       set { this._pageRecord = value; }
  }


//2、
 /// <summary>
 /// 
 /// </summary>
 public int PageRecordCount
 {
  get { return this._pageRecord; }
  set { this._pageRecord = value; }
 }

------解决方案--------------------
控件开发的时候有用,可以把这些内容反射出来吧
------解决方案--------------------
[Category("自定义属性")]和你的第二种属性,不是同一个东西,一个是attribute,另一个是property
这两个属性的作用是不一样的。property就不说了,attribute是添加在上面的一个表示,.net框架回去跟去这个表示去对你添加属性的成员进行相应的处理。
------解决方案--------------------
你说的那个其实是特性 是类的元数据 属性事实上是类的数据 你可以这么理解 大部分属性(注意是大部分)都是用来反映一个类的 实例的 状态 而特性 就是中括号里面的 则是对类的成员 而不是实例 的一种说明
------解决方案--------------------
请了解attribute特性.
------解决方案--------------------
///
...
///
这个是给xml注释和自动产生文档准备的

[...]
这个叫attribute,是给设计器或者容器反射调用准备的。

xml注释并不会包括在程序中,也不能通过反射访问到。
------解决方案--------------------
特性,属性,注释


三个不一样。
------解决方案--------------------
探讨
引用:

偷懒用的。。程序运行时,反射出标记内容,根据内容进行操作。
如验证等。

也不是根据反射标记内容进行操作的吧。。当我把每页显示条数改为 private int _pageRecord=32 时
程序依然是根据程序初始值进行显示的,[DefaultValue(24)]应该只是在程序运行时给用户的一个参照。。

C# code


[Categor……