110,537
社区成员
发帖
与我相关
我的任务
分享
class Program
{
public static void Main(String[] args)
{
string FruitName = Console.ReadLine();
IFruit MyFruit;
FruitFactory MyFruitFactory = new FruitFactory();
MyFruit = MyFruitFactory.MakeFruit("tmConsoleApp." +FruitName); //必须使用名称空间+类名称
Console.ReadLine();
}
}
public interface IFruit
{ }
public class Orange:IFruit
{
public Orange()
{
Console.WriteLine("An orange is got!");
}
}
public class Apple:IFruit
{
public Apple()
{
Console.WriteLine("An apple is got!");
}
}
public class FruitFactory
{
public IFruit MakeFruit(string Name)
{
IFruit MyFruit = null;
try
{
System.Type type = System.Type.GetType(Name, true);//必须使用名称空间+类名称
MyFruit = (IFruit)Activator.CreateInstance(type);
return MyFruit;
}
catch (TypeLoadException e)
{
Console.WriteLine("dont know this kind of fruit,exception caught - {0}", e.Message);
return MyFruit;
}
}
}