小问题【3】

this关键字:

this是传给每一个实例方法的一个隐式参数,他返回对象本身的一个实例。

代码:

    class Employee
    {
      public string FirstName;
      public string LastName;

      public void SetName(string FirstName, string LastName)
      {
        //若不用this, 指的是参数FirstName 和 LastName 而不是字段
        this.FirstName = FirstName;
        this.LastName = LastName;
      }
    }

C#命名规范:  参数要想局部变量那样使用camel大小写风格, 字段要用pascal大小风格。

所以上面方法要写成:

public void SetName(string firstName, string lastName)


定义属性: (属性提供了从编程角度看类似于字段的API,但事实上并不存在这样的字段,对字段封装了)

代码:

     class Employee
    {
      public string FirstName
      {
        get
        {
          return _FirstName;
        }
        set //可以设置验证条件
        {
          _FirstName = value; //value关键字引用赋值运算符的右侧部分
        }
      }
      private string _FirstName; //命名风格
    }

C#3.0中的简化版本:

    class Employee
    {
      public string FirstName
      {
        get;
        set;
      }
    }

注意:

1. 属性可以作为虚字段使用,通过拼接、计算得到

2. 属性和方法调用不允许使用ref 和 out参数

posted @ 2012-03-19 16:32  wouldguan  阅读(147)  评论(0编辑  收藏  举报