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(); */ }
private static void Case2() { IAutoMobile UR = CreateInstance <TeslaFactory>().Make(); UR.Start(); UR.Stop(); }
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(); }
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(); }
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"); } }
private static void Display(IAutoMobile iautoMobile) { Console.WriteLine(iautoMobile.GetType()); iautoMobile.Start(); iautoMobile.Stop(); }