只是鬼混,我得到了这个想法,这是通用工厂方法模式的一个很好的实现吗?
工厂代码:
public static class Factory
{
public static T Create<T>() where T : new()
{
return new T();
}
}
在其他地方调用工厂:
class Program
{
static void Main(string[] args)
{
var obj = Factory.Create<Person>();
obj.Name = "Mark";
Console.WriteLine(obj.Name);
var obj2 = Factory.Create<Animal>();
obj2.AnimalType= "Dog";
Console.WriteLine(obj2.AnimalType);
dynamic obj3 = Factory.Create<ExpandoObject>();
obj3.Age= 20;
Console.WriteLine(obj3.Age);
Console.ReadKey();
}
}
我的意思是按预期工作...但是您在这里看到任何问题吗?因为我不...
任何建议都将不胜感激,因为我计划使用工厂来实例化对象,这些看起来不错..
提前致谢
编辑:我修改了工厂方法的名称以澄清问题,因为以前的名称是 GetInstance 并且令人困惑。