예제 #1
0
        static void Main(string[] args)
        {
            MyClasse oObj = new MyClasse(10, 20);

            oObj.show();
            Console.WriteLine("\n==========================\n");

            //

            //Le passage d'une instance de classe, se fait par référence
            //(mais en réalité sous le capot, c'est une copie du pointeur(adresse) de l'instance).

            MyClasseInstanceModifier oMyClassInstanceModifier = new MyClasseInstanceModifier();

            MyClasse oObj2 = oMyClassInstanceModifier.justReturnInstance(oObj);

            Console.WriteLine(oObj2 == oObj); //True, donc le retour est bien par Reference.
            Console.WriteLine("\n==========================\n");

            MyClasse oObj3 = oMyClassInstanceModifier.returnACopyOfTheInstance(oObj);

            Console.WriteLine(oObj3 == oObj); //False, car il s'agit bien de 2 instances différentes.
            Console.WriteLine("\n==========================\n");

            MyClasse oObj4 = oMyClassInstanceModifier.changeInstance(oObj);

            Console.WriteLine(oObj4 == oObj); //True, ok.
            oObj.show();
            Console.WriteLine("\n==========================\n");


            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            List <BaseClass> MyClasses = new List <BaseClass>();

            MyClasses.Add(new DerivedClass());
            MyClasses.Add(new AnotherDerivedClass());
            foreach (BaseClass MyClasse in MyClasses)
            {
                Console.WriteLine(MyClasse.GetType());
                MyClasse.A();
            }
            Console.ReadKey();
        }
예제 #3
0
        static void Main(string[] args)
        {
            List <BaseClass> MyClasses = new List <BaseClass>();

            MyClasses.Add(new DerivedClass());
            MyClasses.Add(new AnotherDerivedClass());
            foreach (BaseClass MyClasse in MyClasses)
            {
                MyClasse.A();
            }
            //MySurname
            //Looks like I have no surname
            Console.ReadKey();
        }