Доступ_this представляет собой зарезервированное слово this.
доступ_через_this: this
Доступ_this допустим только в блоке конструктора экземпляра, метода экземпляра или метода доступа к экземпляру. Примеры.
this используется в основном_выражении внутри конструктора экземпляра структуры. Он классифицируется как значение. Типом значения является тип экземпляра структуры, внутри которой происходит это использование, а значением является создаваемая структура. Переменная this конструктора экземпляра структуры действует точно так же, как параметр out типа структуры, в частности, это означает, что переменная должна явно назначаться в каждом пути выполнения конструктора экземпляра.
struct Point
{
int x, y;
public Point(int x, int y)
{
this.x = x;
this.y = y;
}
}
Доступ this используется в основном_выражении внутри конструктора экземпляра класса. Он классифицируется как значение. Типом значения является тип экземпляра класса, внутри которого происходит это использование, а значением является ссылка на создаваемый объект.
class Point
{
int x, y;
public Point(int x, int y)
{
this.x = x;
this.y = y;
}
public override string ToString()
{
return String.Format("{0} {1}", x, y);
}
}
Доступ this используется в основном_выражении внутри метода экземпляра
using System;
namespace ConsoleApplication7
{
class Employee
{
private string name;
private string alias;
private decimal salary = 3000.00m;
// Constructor:
public Employee(string name, string alias)
{
// Use this to qualify the fields, name and alias:
У статических функций-членов нет указателя this, так как они существуют только на уровне класса и не являются частями объектов. Использование ссылки на this в статическом методе является недопустимым.
Также this используется для объявления индексаторов.