Example #1
0
        static void Main(string[] args)
        {
            GenericDemo <int> objGenericClass1 = new GenericDemo <int>(10);

            objGenericClass1.GetT();

            GenericDemo <string> objGenericClass2 = new GenericDemo <string>("Hello World");

            objGenericClass2.GetT();

            Rectangle <int> rectangle1 = new Rectangle <int>(10, 20);

            rectangle1.GetDimension();

            Rectangle <double> rectangle2 = new Rectangle <double>(5.5, 7.5);

            rectangle2.GetDimension();

            Square objSquare = new Square(10);

            Console.WriteLine("The area of square is " + objSquare.CalculateArea());

            Circle objCircle = new Circle(7.5);

            Console.WriteLine("The area of circle is " + objCircle.CalculateArea());

            Employee employee = new Employee(10000, 500);

            Console.WriteLine("The total salary of employee is " + employee.Add());

            Student student = new Student("John", "Doe");

            Console.WriteLine("The full name of student is " + student.Add());

            TestVehicle <Car> objCar = new TestVehicle <Car>(new Car());

            objCar.GetVehicleType();

            // TestVehicle<HangGlider> objHang = new TestVehicle<HangGlider>(new HangGlider()); // Compile-time error

            CompareObject compareObject = new CompareObject();

            Console.WriteLine(compareObject.Compare <int>(10, 10));
            Console.WriteLine(compareObject.Compare <double>(10.5, 10.8));
            Console.WriteLine(compareObject.Compare <string>("a", "a"));
            Console.WriteLine(compareObject.Compare <string>("a", "b"));

            Console.ReadLine();
        }
Example #2
0
        static void Main(string[] args)
        {
            {
                var p1 = new Pair <int, int>(1, 2);
                var p2 = new Pair <int, double>(1, 42.99);
                var p3 = new Pair <string, bool>("true", true);
            }

            {
                var obj1 = new GenericDemo <int>(10);
                var obj2 = new GenericDemo <string>("Hello World");

                var t1 = obj1.GetType();
                Console.WriteLine(t1.Name);
                Console.WriteLine(t1.GetGenericArguments().FirstOrDefault().Name);
                var t2 = obj2.GetType();
                Console.WriteLine(t2.Name);
                Console.WriteLine(t2.GetGenericArguments().FirstOrDefault().Name);

                Console.WriteLine(obj1);
                Console.WriteLine(obj2);
            }

            {
                v1.Square objSquare = new v1.Square(10);
                Console.WriteLine($"The area of square is {objSquare.Area}");

                v1.Circle objCircle = new v1.Circle(7.5);
                Console.WriteLine($"The area of circle is {objCircle.Area}");
            }

            {
                v2.Square objSquare = new v2.Square(10);
                Console.WriteLine($"The area of square is {objSquare.Area}");

                v2.Circle objCircle = new v2.Circle(7.5);
                Console.WriteLine($"The area of circle is {objCircle.Area}");
            }

            {
                v3.Square objSquare = new v3.Square(10);
                Console.WriteLine($"The area of square is {objSquare.Area}");

                v3.Circle objCircle = new v3.Circle(7.5);
                Console.WriteLine($"The area of circle is {objCircle.Area}");
            }

            {
                IEnumerable <string> names = new List <string> {
                    "Marius", "Ankit", "Raffaele"
                };
                IEnumerable <object> objects = names;
            }

            {
                List <string> names = new List <string> {
                    "Marius", "Ankit", "Raffaele"
                };
                //List<object> objects = names; // error
            }

            {
                IEnumerable <int> numbers = new List <int> {
                    1, 1, 2, 3, 5, 8
                };
                //IEnumerable<object> objects = numbers; // error
            }

            {
                v4.Square sqr1 = new v4.Square(4);
                v4.Square sqr2 = new v4.Square(5);

                v4.SquareComparison.IsBigger(sqr1, sqr2, new v4.SquareComparer());
                v4.SquareComparison.IsBigger(sqr1, sqr2, new v4.ShapeComparer());
                //v4.SquareComparison.IsBigger(sqr1, sqr2, new v4.CircleComparer());
            }

            {
                CompareObjects comp = new CompareObjects();
                Console.WriteLine(comp.Compare <int>(10, 10));
                Console.WriteLine(comp.Compare <double>(10.5, 10.8));
                Console.WriteLine(comp.Compare <string>("a", "a"));
                Console.WriteLine(comp.Compare <string>("a", "b"));
            }

            {
                CompareObjects comp = new CompareObjects();
                Console.WriteLine(comp.Compare(10, 10));
                Console.WriteLine(comp.Compare(10.5, 10.8));
                Console.WriteLine(comp.Compare("a", "a"));
                Console.WriteLine(comp.Compare("a", "b"));
            }

            {
                CompareObjects comp = new CompareObjects();
                Console.WriteLine(comp.Compare <short>(10, 10));
            }

            {
                v1.Point <int>    p1 = new v1.Point <int>(3, 4);
                v1.Point <double> p2 = new v1.Point <double>(3.12, 4.55);
                v1.Point <bool>   p3 = new v1.Point <bool>(true, false);
                v1.Point <string> p4 = new v1.Point <string>("alpha", "beta");
            }

            {
                v2.Point <int>    p1 = new v2.Point <int>(3, 4);
                v2.Point <double> p2 = new v2.Point <double>(3.12, 4.55);
                // v2.Point<bool> p3 = new v2.Point<bool>(true, false);
                // v2.Point<string> p4 = new v2.Point<string>("alpha", "beta");
            }

            {
                var dictionary = new RestrictedDictionary <v5.ShapeType, v5.Shape>();
                var c          = dictionary.Make <v5.Circle>(v5.ShapeType.Rounded);
                var e          = dictionary.Make <v5.Ellipsis>(v5.ShapeType.Rounded);
                var r          = dictionary.Make <v5.Rectangle>(v5.ShapeType.Sharp);
                var s          = dictionary.Make <v5.Square>(v5.ShapeType.Sharp);
            }
        }