码迷,mamicode.com
首页 > 其他好文 > 详细

c# 属性

时间:2014-08-31 00:20:30      阅读:298      评论:0      收藏:0      [点我收藏+]

标签:blog   http   使用   io   ar   div   代码   log   sp   

在C#中,我们可以非常自由的、毫无限制的访问公有字段,但有时我们可能希望:

(1)限制只能给字段赋于某个范围的值;

(2)或是要求字段只能读或只能写;

(3)或是在改变字段时能改变对象的其他一些状态;

  这些只靠字段是无法做到的,于是就有了属性。

  属性中包含两个块:set和get,set块负责属性的写入工作,get块负责属性的读取工作。

  在两个块中都可以做一些其他操作,如在set中验证赋的值是否符合要求并决定是否进行赋值。

  set和get块中属性必需有一个,因为即不能读又不能写的属性是没有意义的。

  下面举个简单的例子:

(1)属性可以保证安全,当不在本类中使用时,使用属性名可以避免用字段的名字。

bubuko.com,布布扣
1 class MyClass
2 {
3      private  string  name;
4      public string Name
5      {
6          get {return name;}
7          set {name=value;}
8      }
9 }
bubuko.com,布布扣

(2)属性的set和get函数可以限制字段的一些功能,以达到某种目的。

bubuko.com,布布扣
 1 private int a=0;
 2 public int A
 3 {
 4      get{return this.a;}
 5      set
 6      {
 7          if(value >= 0 && value <= 100)
 8               this.a=value;
 9          else
10               throw new Exception("值的范围不合法。");
11      }
12 }
bubuko.com,布布扣

c# 属性

标签:blog   http   使用   io   ar   div   代码   log   sp   

原文地址:http://www.cnblogs.com/suyanteng/p/3947099.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!