LilianChen 发表于 2013-1-2 23:11:16

C#: 属性

C#: 属性

<div id="cnblogs_post_body"> 在C#中定义属性:
public string SomeProperty
      {
            get
            {
                return "This is the property value";
            }
            set
            {
                // Do whatever needs to be done to set the property
            }
      }

get访问器不带参数,且必须返回属性声明的类型。编译器假定它带一个参数,且类型也与属性相同,并表示为value.
private string foreName;
      public string ForeName
      {
            get

[*]            {                return foreName;
            }
            set
            {
                if (value.Length > 20)
                {
                  // Code here to take error recovery action
                  // (eg. Throw an exception)
                }
                else
                  foreName = value;
            }
      }


[*]只读属性:在属性定义中省略set访问器
[*]只写属性:在属性定义中省略get访问器
[*]自动实现的属性:属性的set和get访问器中没有任何逻辑,代码如下
  public string ForeName {get; set;}
  必须有两个访问器,尝试把该属性设置成只读属性就会出错, 例如: Public string ForeName {get; }
  每个访问器的访问级别可以不同,例如: public string ForeNam {get; private set;}
页: [1]
查看完整版本: C#: 属性