我如何使用结构图给我配置两种不同可能方式之一的相同具体类型?例如,我有一个类配置为在一个实例中侦听用户队列,但在另一个实例中配置为设施队列。关于对象的其他一切都是一样的。
我创建对象以在构造函数中接受枚举,并且基于枚举值,该对象将侦听设施队列或用户队列。那么如何配置结构映射以将两个不同配置的相同类型的对象传递给我呢?该类实现了我的接口,所以它看起来像这样:
public class Configuration : IConfiguration {
public Configuration(enum configType) {
if (configType == enum.users) {
/* code */
} else if(configType == enum.facilities) {
/* code */
}
}
}
然后,我试图设置父类两次接受配置对象,一次为设施配置,一次为用户配置。我该怎么做?我想也许我可以根据两个类的实例名称来做到这一点,但我在文档或其他地方找不到任何可以解释如何做到这一点的东西。这是父类的样子:
public class Parent : IParent {
public Parent(IConfiguration facilityConfig, IConfiguration userConfig) {
}
}
因此,在父类中,我希望“facilityConfig”成为传入 enum.facilities 的 Configuration 实例,而“userConfig”对象将是同一 Configuration 类的实例,但传入 enum.users。让我知道我的要求是否没有意义。