C#在运行时使用抽象类中的dll
我正面临一个我不知道如何解决的问题,因为我对编程非常陌生 为了简化问题,我在Visual Studio C#中有一个GUI,其中包含以下元素:C#在运行时使用抽象类中的dll,c#,dll,abstract,C#,Dll,Abstract,我正面临一个我不知道如何解决的问题,因为我对编程非常陌生 为了简化问题,我在Visual Studio C#中有一个GUI,其中包含以下元素: 主图形用户界面 其他GUI(与本案例无关…) 外部控制类 ExternalControl类的对象 ExternalControl类为不同的外部设备显示相同的功能,但方法的实现在不同的设备中有所不同。因此,我决定创建ExternalControl作为一个抽象类。基于ExternalControl的抽象方法(覆盖它们),从不同的类控制不同的设备。所以我有
- 主图形用户界面
- 其他GUI(与本案例无关…)
类外部控制
类的对象ExternalControl
ExternalControl
类为不同的外部设备显示相同的功能,但方法的实现在不同的设备中有所不同。因此,我决定创建ExternalControl
作为一个抽象类。基于ExternalControl
的抽象方法(覆盖它们),从不同的类控制不同的设备。所以我有以下几点
public abstract class ExternalControl
{
protected int PropertyA;
protected bool PropertyB;
protected string PropertyC;
public virtual void Method1() {}
public virtual void Method2() {}
public virtual void Method3() {}
}
public class ExternalControl_DeviceA : ExternalControl {...}
public class ExternalControl_DeviceB : ExternalControl {...}
public class ExternalControl_DeviceC : ExternalControl {...}
这些类的实际实现并不重要,重要的是它们都具有相同的公共方法Method1()Method2()
和Method3()
,并在三个不同的dll中编译
我已经这样做了,但我不知道如何在用户选择正确的设备时在运行时调用和使用正确的dll
有什么想法吗
非常感谢,,
Ajith加载/引用所有三个程序集有什么问题?您可以使用Factory模式来实例化正确的对象。问题是我不知道如何执行此操作,您能否提供一个示例,包括Factory模式的技术?