private void btnSealedClass_Click(object sender, RoutedEventArgs e)
        {
            var cultureCurrent = CultureInfo.CurrentCulture;

            CultureInfo.CurrentCulture = new CultureInfo("en-US");

            SealedClass myTestclass = new SealedClass();
            int         irTest      = myTestclass.Add(32, 123);
            string      srTest      = "something";

            srTest = "something2"; //this composes a new object of string. we dont use the previous composed. therefore it gets garbage collected. because this is immutable type
            irTest = 321;          //because this is not a reference type

            SealedClass myTestclass2 = new SealedClass();

            myTestclass = myTestclass2;//this just copies reference of (we can also say memory address of) myTestclass2 to myTestclass. Because this is reference type

            X myClass1 = new X();

            myClass1.srName = "X";

            Y myClass2 = new Y();

            myClass2.srName = "Y";
            //Y 1 overriden
            Z myClass3 = new Z();

            myClass3.srName = "Z";
        }
    //static void Main(string[] args)
    void Main(string[] args)
    {
        SealedClass sealedCls = new SealedClass();
        int         total     = sealedCls.Add(4, 5);

        Console.WriteLine("Total = " + total.ToString());
        Console.ReadLine();
    }