此时此刻,我正在处理一个应该作为工厂工作的映射器类。
到目前为止,我使用字典作为映射器。
IDictionary<string, Type> mapper;
这个想法是当我得到字典的一个值时,应该实例化,例如:
var foo = mapper["foo"]; // this should return the instance of foo
另一个问题是:
var foo2 = mapper["foo"] // should be the same instance of foo (foo == foo2)
几个月前,我猜我看过一些关于容器的东西,我不确定这个词是否正确以及这是否对我有帮助。有任何想法吗?
更新:
我真的没有任何代码。我在想的是字典应该有一个 Func<> 而不是 Type 的值,或者使用类 Activator 作为中间,虽然我猜这些不是好的选择。我打算在后面的代码中添加100多个项目,会很累。