C# this的五種用法

1. this的第一種用法:限定被參數隱藏的實例成員,如下例代碼
public class Test
{
private int hour;

public void SomeMethod(int hour)
{
this.hour = hour;
}         
}
this.hour 代表的是當前實例的成員hour , 而hour代表的是SomeMethod的形參hour

2. this的第二種用法:把當前對象作爲參數傳給另一個方法,如下例代碼
class myClass
{
public void Foo(OtherClass otherObject)
{
otherObject.Bar(this);
}
}

public class OtherClass
{
public void Bar(Object obj)
{
}
}
在myClass.Foo方法中,調用 了OtherClass實例的Bar方法,而Bar的參數則是當前實例myClass的引用。

3. this的第三種用法與索引器有關(後續會詳細說明)

4. this的第四種用法是從一個重載構造方法中調用 另一個, 如下例代碼:
class myClass
{
public myClass(int i)
{
Console.WriteLine(i);
//...
}

public myClass() : this(42)
//...
}
}
使用this(42)調用了public myClass(42)的構造方法。

5. this的第五種用法顯式調用一個類的方法和成員, 如下例代碼:
class myClass
{
private int i;
private int z;

public void Draw()
}

public void MyMethod(int y)
{
this.i = 3;
this.z = 7;
this.Draw();
}
}
在這種情況下,this引用的使用是多餘的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章