using System;
using System.Collections.Generic;
namespace MyApp
{
class Program
{
static void Main()
{
Instances instances = new Instances();
Class2 c2 = (Class2)instances.CreateInstance("Class2");
c2.Output();
Class1 c1 = (Class1)instances.CreateInstance("Class1");
c1.Output();
Console.ReadKey();
}
}
abstract class BaseClass
{
public abstract void Output();
}
class Class1 : BaseClass
{
public override void Output()
{
Console.WriteLine("Class1");
}
}
class Class2 : BaseClass
{
public override void Output()
{
Console.WriteLine("Class2");
}
}
class Instances
{
Dictionary<string, BaseClass> containers = new Dictionary<string, BaseClass>();
public Instances()
{
containers.Add("Class1", new Class1());
containers.Add("Class2", new Class2());
}
public BaseClass CreateInstance(string key)
{
return containers[key];
}
}
}
963

被折叠的 条评论
为什么被折叠?



