Esempio n. 1
0
        static void Main(string[] args)
        {
            //  Console.WriteLine(typeof(BMWFactory).FullName);
            // Console.WriteLine(typeof(BMWFactory).AssemblyQualifiedName);
            // IAutomobileFactory fact = BMWFactory.GetInstance();
            var f = ConfigurationSettings.AppSettings["Factory"];

            MethodInfo         method = Type.GetType(f).GetMethod("GetInstance");
            IAutomobileFactory fact   = null;

            fact = (IAutomobileFactory)method.Invoke("GetInstance", null);
            IAutoMobile auto = fact.Make();

            auto.Start();
            auto.Stop();
            //  Type type = Type.GetType(f);

            //   IAutomobileFactory fact = type.GetMethod("GetInstance");
            //   var method = type.GetMethod("GetInstance");
            //    IAutomobileFactory fact = (IAutomobileFactory)method;
            //   Class1 c = new Class1();


            //  IAutomobileFactory fact = (IAutomobileFactory)Type.GetType(f).GetMethod("GetInstance");

            /* IAutomobileFactory fact = BMWFactory.GetInstance();
             * IAutoMobile auto = fact.Make();
             * auto.Start();
             * auto.Stop();  */
        }
Esempio n. 2
0
        private static void Case2()
        {
            IAutoMobile UR = CreateInstance <TeslaFactory>().Make();

            UR.Start();
            UR.Stop();
        }
Esempio n. 3
0
        static void Main(string[] args)
        {
            //  AutomobileFactory factory = new AutomobileFactory();
            AutomobileFactory factory = AutomobileFactory.Getinstance(); //for singleton
            IAutoMobile       auto    = factory.Make(AutomobileFactory.AutoType.BMW);

            Console.WriteLine(auto.GetType());
            auto.Start();
            auto.Stop();
        }
Esempio n. 4
0
        private static void Case1()
        {
            IAutoMobileFactory factory    = BMWFactory.GetInstance();
            IAutoMobile        autoMobile = factory.Make();

            autoMobile.Start();
            autoMobile.Stop();

            IAutoMobileFactory factory1    = AudiFactory.GetInstance();
            IAutoMobile        autoMobile1 = factory1.Make();

            autoMobile1.Start();
            autoMobile1.Stop();

            IAutoMobileFactory factory2    = TeslaFactory.GetInstance();
            IAutoMobile        autoMobile2 = factory2.Make();

            autoMobile2.Start();
            autoMobile2.Stop();
        }
Esempio n. 5
0
        public static void LoadFromFile()
        {
            try
            {
                // Console.WriteLine(typeof(AudiFactory).AssemblyQualifiedName);
                string class1 = ConfigurationManager.AppSettings["load"];
                // Console.WriteLine(class1);
                //MethodBase type = Type.GetType(class1).GetMethod("GetInstance", null);
                MethodInfo type = Type.GetType(class1).GetMethod("GetInstance");
                //MethodInfo[] type = Type.GetType(class1).GetMethods();
                IAutoMobileFactory factory = null;
                //   var m = type.Invoke("GetInstance", new Type[0]);
                // Console.WriteLine(type);
                //  factory = (IAutoMobileFactory)type[0];
                factory = (IAutoMobileFactory)type.Invoke(null, null);
                IAutoMobile auto = factory.Make();
                auto.Start();
                auto.Stop();



                /*  if (appSettings.Count == 0)
                 * {
                 *    Console.WriteLine("AppSettings is empty.");
                 * }
                 * else
                 * {
                 *    foreach (var key in appSettings.AllKeys)
                 *    {
                 *        Console.WriteLine("Key: {0} Value: {1}", key, appSettings["Loadfactory"]);
                 *    }
                 * }*/
            }
            catch (ConfigurationErrorsException)
            {
                Console.WriteLine("Error reading app settings");
            }
        }
Esempio n. 6
0
 private static void Display(IAutoMobile iautoMobile)
 {
     Console.WriteLine(iautoMobile.GetType());
     iautoMobile.Start();
     iautoMobile.Stop();
 }