Csharp/C Sharp/Class Interface/This

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

Demonstrates using the this intrinsic variable, which allows a class instance to identify itself

<source lang="csharp"> /* C# Programming Tips & Techniques by Charles Wright, Kris Jamsa Publisher: Osborne/McGraw-Hill (December 28, 2001) ISBN: 0072193794

  • /

// // This.cs -- Demonstrates using the this intrinsic variable, which // allows a class instance to identify itself // // Compile this program with the following command line: // C:>csc this.cs // namespace nsThis {

   using System;
   
   public class ThisclsMain
   {
       static public void Main ()
       {
           // Declare an array of classes
           clsThis [] arr = new clsThis[]
                           {
                           new clsThis(), new clsThis(), new clsThis(),
                           new clsThis(), new clsThis(), new clsThis()
                           };
           Console.WriteLine ("{0} instances were created", arr[0].m_Instance);
           // Ask each instance in the array to identify itself
           foreach (clsThis inst in arr)
           {
               Console.WriteLine ("This is instance Number " +
                               inst.Identify().Instance);
           }
       }
   }
   internal class clsThis
   {
       public clsThis ()
       {
           m_Instance = ++Count;
       }
       private static int Count = 0;
       public int Instance
       {
           get {return (m_Instance);}
       }
       internal int m_Instance;
       public clsThis Identify ()
       {
           // Return this instance of the class
           return (this);
       }
   }

}


      </source>


Illustrates the use of the this object reference

<source lang="csharp"> /* Mastering Visual C# .NET by Jason Price, Mike Gunderloy Publisher: Sybex; ISBN: 0782129110

  • /

/*

 Example5_5.cs illustrates the use of the this
 object reference
  • /

// declare the Car class class Car {

 public int yearBuilt;
 public void SetYearBuilt(int yearBuilt)
 {
   // the yearBuilt parameter hides the
   // the yearBuilt field
   this.yearBuilt = yearBuilt;
 }

}

public class Example5_5 {

 public static void Main()
 {
   // create a Car object
   Car myCar = new Car();
   myCar.SetYearBuilt(2000);
   System.Console.WriteLine("myCar.yearBuilt = " + myCar.yearBuilt);
 }

}


      </source>


Using the this Object Reference

<source lang="csharp"> public class Product {

   public int yearBuilt;
   public void SetYearBuilt(int yearBuilt) {
       this.yearBuilt = yearBuilt;
   }

} class MainClass{

   public static void Main() {
       Product myProduct = new Product();
       myProduct.SetYearBuilt(2000);
       System.Console.WriteLine("myProduct.yearBuilt = " + myProduct.yearBuilt);
   }

}

</source>