我不确定这是否可行,但我要求有条件地继承类。
例如我有一个类名称ABC需要在某个时候继承PQR而XYZ有条件地像
Public Class ABC : PQR OR Public Class ABC:XYZ
所以我想在web.config app设置的帮助下做,如果我们需要Old Config继承PQR,否则继承XYZ
答案 0 :(得分:5)
这实际上并不是设计继承的方式。这样做的方法是通过作文或工厂类。
您可以定义PQR和XYZ都实现的接口或抽象类。
选项1,组合:让您的类包含一个属于该接口或抽象类类型的成员,然后使用config来决定分配给该成员的具体类。
选项2,工厂:有一个工厂类,按需制作这些对象并抓住正确的对象。
答案 1 :(得分:0)
您将需要两个不同的类ABC1和ABC2,但您可以使它们实现相同的接口(IAbc)。
然后,您可以在通常使用ABC的代码位置使用该界面。
您将无法直接创建该类的实例,但您可以在Factory类或IoC容器上进行中继。
答案 2 :(得分:0)
例如,如果您具有独立版本的控件,则可能要将主窗口用作用户控件。这就是我有条件地构建为窗口或用户控件的方式
public class MyUserControl : Window
{
}
public class MyUserControl : UserControl
{
}