this

this 关键字将引用类的当前实例。静态成员函数没有 this 指针。this 关键字可用于从构造函数、实例方法和实例访问器中访问成员。
以下是 this 的常用用途:
限定被相似的名称隐藏的成员,例如:
public Employee(string name, string alias)
{
   this.name = name;
   this.alias = alias;
}
将对象作为参数传递到其他方法,例如:
CalcTax(this);
声明索引器,例如:
public int this [int param]
{
      get
      {
         return array[param];
      }
      set
      {
         array[param] = value;
      }
   }
在静态方法、静态属性访问器或字段声明的变量初始值设定项中引用 this 是错误的。
示例
在本例中,this 用于限定 Employee 类成员 name 和 alias,它们都被相似的名称隐藏。this 还用于将对象传递到属于其他类的方法 CalcTax。
// keywords_this.cs
// this example
using System;
public class Employee
{
   public string name;
   public string alias;
   public decimal salary = 3000.00m;

   // Constructor:
   public Employee(string name, string alias)
   {
      // Use this to qualify the fields, name and alias:
      this.name = name;
      this.alias = alias;
   }

   // Printing method:
   public void printEmployee()
   {
      Console.WriteLine("Name: {0}\nAlias: {1}", name, alias);
      // Passing the object to the CalcTax method by using this:
      Console.WriteLine("Taxes: {0:C}", Tax.CalcTax(this));
   }
}
public class Tax
{
   public static decimal CalcTax(Employee E)
   {
      return (0.08m*(E.salary));
   }
}

public class MainClass
{
   public static void Main()
   {
      // Create objects:
      Employee E1 = new Employee ("John M. Trainer", "jtrainer");

      // Display results:
      E1.printEmployee();
   }
}
输出
Name: John M. Trainer
Alias: jtrainer
Taxes: $240.00

posted @ 2004-07-09 10:24  xiahaitao  阅读(414)  评论(0)    收藏  举报