this用法如下:
1.使用this来显示地标识字段的所有者(有点官方味道,看下例子就清楚了)
class
Student {
public
string
FirstName;
public
string
LastName;
public
int
Scroe;
public
void
SetName(
string
firstName,
string
lastName) {
this
.FirstName
=
firstName;
this
.LastName
=
lastName; } }
2.使用this来传递当前正在执行的对象的一个引用
class
Student {
public
string
FirstName;
public
string
LastName;
public
int
Score;
public
void
NewStudent() { Help.Insert(
this
); } }
class
Help {
public
static
void
Insert(Student student) {
//
....
} }
NewStudent方法调用了Help类的Insert静态方法,需要向Insert方法传递Student对象,这是使用关键字this来完成的,它传递了正在其上调用NewStudent方法
的那个Student对象实例
3.使用this调用另一个构造器
class
Student {
public
Student(
string
firstName,
string
lastName) { FirstName
=
firstName; LastName
=
last; }
//
如果我想重载一个构造函数,这个构造函数与上面的相比只是多了个参数Id,那我就可以这样做,
public
Student(
int
score,
string
firstName,
string
lastName):
this
(firstName,lastName) { Scroe
=
score;
//
使用this关键字后不用写FirstName=firstName。。。
} }
4.this用于扩展方法:C#3.0通过这个改进,就能为任何类添加实例方法。扩展方法的要求如下:
1)第一个参数是要扩展或者要操作的类型,这称为被扩展的类型
2)在被扩展的类型名称前面附加this修饰符。
3)引入扩展类型的命名空间