Csharp/C Sharp/Class Interface/This — различия между версиями

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

Версия 15:31, 26 мая 2010

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

/*
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);
        }
    }
}


Illustrates the use of the this object reference

/*
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);
  }
}


Using the this Object Reference

 
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);
    }
}