this(C#)

4472 단어 this
this 키워드는 클래스의 현재 실례를 인용하는 데 사용되며, 확장 방법의 첫 번째 인자로 사용할 수 있습니다.
다음은 this의 일반적인 용도입니다.
  • 비슷한 명칭에 숨겨진 구성원을 한정하고 다음과 같이 두 단락의 코드 기능이 같다.
  • public Employee(string name, string alias)
    {
        // Use this to qualify the fields, name and alias:
        this.name = name;
        this.alias = alias;
    }
    ----------
    public Employee(string m_name, string m_alias)
    {
        // Use this to qualify the fields, name and alias:
        this.name = m_name;
        this.alias = m_alias;
    }
    
    
  • 대상을 매개 변수로 다른 방법으로 전달한다. 예를 들어
  • CalcTax(this);
  • 선언 색인(예:
  • public int this[int param]
    {
        get { return array[param]; }
        set { array[param] = value; }
    }
  • 정적 구성원 함수는 클래스 1급에 존재하고 대상의 일부분이 아니기 때문에this지침이 없습니다.정적 방법에서this를 인용하는 것은 잘못된 것입니다.

  • 예: 이 예에서 this는 Employee 클래스 구성원name과alias를 한정하는데 사용되며, 모두 비슷한 이름으로 숨겨져 있습니다.이 키워드는 객체를 다른 클래스에 속하는 방법인 CalcTax에도 사용됩니다.
     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.name = name;
                    this.alias = alias;
                }
                // Printing method:
                public void printEmployee()
                {
                    Console.WriteLine("Name: {0}
    Alias: {1}"
    , name, alias); // Passing the object to the CalcTax method by using this: Console.WriteLine("Taxes: {0:C}", Tax.CalcTax(this)); } public decimal Salary { get { return salary; } } } class Tax { public static decimal CalcTax(Employee E) { return 0.08m * E.Salary; } } class MainClass { static void Main() { // Create objects: Employee E1 = new Employee("Mingda Pan", "mpan"); // Display results: E1.printEmployee(); } } /* Output: Name: Mingda Pan Alias: mpan Taxes: $240.00 */

    좋은 웹페이지 즐겨찾기