Example #1
0
        static void Main1(string[] args)
        {
            var factory      = new SavingsAcctFactory() as ICreditUnionFactory;
            var citiAcct     = factory.GetSavingsAccount("CITI-321");
            var nationalAcct = factory.GetSavingsAccount("NATIONAL-987");

            Console.WriteLine($"My citi balance is ${citiAcct.Balance} and national balance is ${nationalAcct.Balance}");
        }
Example #2
0
        static void Main(string[] args)
        {
            var factory   = new SavingsAcctFactory() as ICreditUnionFactory;
            var cityAcc   = factory.GetSavingsAccount("city");
            var nationAcc = factory.GetSavingsAccount("national");

            Console.WriteLine($"City {cityAcc.Balance} and national {nationAcc.Balance}");
            Console.ReadLine();
        }
Example #3
0
        public static void Main()
        {
            var factory      = new SavingsAcctFactory() as ICreditUnionFactory;
            var cityAcct     = factory.GetSavingsAccount("CITY-321");
            var nationalAcct = factory.GetSavingsAccount("NATIONAL-987");

            Console.WriteLine($"My citu balance is ${cityAcct.Balance}" +
                              $" and national balance is ${nationalAcct.Balance}");
        }
Example #4
0
        public static void Main()
        {
            var factory      = new SavingsAcctFactory();
            var cityAcct     = factory.GetSavingsAccount("CITY-321");
            var nationalAcct = factory.GetSavingsAccount("NATIONAL-987");

            var globalAcct = factory.GetSavingsAccountWithRecursion("GLOBAL-123");

            Console.WriteLine(globalAcct.Balance);

            Console.WriteLine($"My city balance is ${cityAcct.Balance}" +
                              $" and national balance is ${nationalAcct.Balance}");
        }
        static void Main(string[] args)
        {
            //pretend two banks merged, with two savings accounts.

            //create a new SavingsAccount.
            //the Factory figures out kind of account to create based on what gets passed to it.

            var factory      = new SavingsAcctFactory() as ICreditUnionFactory;
            var citiAcct     = factory.GetSavingsAccount("CITI-321");
            var nationalAcct = factory.GetSavingsAccount("NATIONAL-987");

            Console.WriteLine($"My citi balance is ${citiAcct.Balance}" +
                              $" and national balance is ${nationalAcct.Balance}");
        }
        static void Main(string[] args)
        {
            //create a factory of type IcreditUnion
            var factory = new SavingsAcctFactory() as ICreditUnionFactory;

            //create a city savings account object by feeding in city string
            var citiAcct = factory.GetSavingsAccount("CITI-321");

            //create national savings account by passing in national string to factory
            var nationalAcct = factory.GetSavingsAccount("NATIONAL-987");

            //use formatted string by using $ and {} to display incline values.
            Console.WriteLine($"My citi balance is ${citiAcct.Balance}" +
                              $" and national balance is ${nationalAcct.Balance}");
            Console.WriteLine("Hit any key to exit.....");
            Console.ReadKey();
        }
Example #7
0
        //Added Comments Test
        static void Main(string[] args)
        {
            //Cannot create an instance of the abstract class or interface
            //var factory = new  ICreditUnionFactory();

            //Convert type SavingsAcctFactory to ICreditUnionFactory
            //via a reference conversion, boxing conversion, unboxing conversion, wrapping conversion, or null type conversion
            //var factory = new SavingsAcctFactory();
            //ICreditUnionFactory factory = new SavingsAcctFactory();
            var factory = new SavingsAcctFactory() as ICreditUnionFactory;

            Console.WriteLine(factory.GetType()); //FactoryMethod.SavingsAcctFactory

            //Local Variable
            ICreditUnionFactory creditunionfactory;

            //Console.WriteLine(creditunionfactory.GetType()); //Use of unassigned local variable 'creditunionfactory'

            creditunionfactory = null;
            //Console.WriteLine(creditunionfactory.GetType()); //System.NullReferenceException: 'Object reference not set to an instance of an object.' creditunionfactory was null.

            creditunionfactory = factory;         //Convert type SavingsAcctFactory to ICreditUnionFactory
            Console.WriteLine(factory.GetType()); //FactoryMethod.SavingsAcctFactory

            var citiAcct     = factory.GetSavingsAccount("CITI-321");
            var nationalAcct = factory.GetSavingsAccount("NATIONAL-987");

            Console.WriteLine($"My citi balance is ${citiAcct.Balance}" +
                              $" and national balance is ${nationalAcct.Balance}");

            // Interface Basics
            var factory2 = new SavingsAcctFactory();
            var f2       = factory2.GetSavingsAccount(null);
            var f22      = factory2.GetSavingsAccount2(null);

            var factory3 = new SavingsAcctFactory() as ICreditUnionFactory2;
            var f3       = factory3.GetSavingsAccount2(null);

            //ICreditUnionFactory2' does not contain a definition for 'GetSavingsAccount' and
            //no extension method 'GetSavingsAccount' accepting a first argument of type 'ICreditUnionFactory2' could be found(are you missing a using directive or an assembly reference
            //var f33 = factory3.GetSavingsAccount(null);

            Console.Read();
        }