假设我们有一个名为AllFoos的命名空间。
并且假设AllFoos命名空间中的所有类都实现了一个名为IFoo的特定接口,并且都是单例。
现在我们有:
HashSet<IFoo> myFoos = new HashSet<IFoo>();
使用AllFoos中所有类的单例实例填充MyFoos集合的代码是什么?
所有这些类的单例实现是:
private static IFoo _instance = new ConcreteImplementationOfFoo1();
public static IFoo Instance
{
get
{
return _instance;
}
}
答案 0 :(得分:4)
如果您使用依赖注入框架,您可以:
如果你想采用经典的方式,你必须告诉你的单例模式是什么样的(例如静态实例属性?),它可以用评论中提到的经典反射来解决。