C#在运行时使用抽象类中的dll

时间:2017-01-20 13:03:14

标签: c# dll abstract

我遇到了一个我不知道如何解决的问题,因为我对编程很陌生。

简化问题,我在Visual Studio C#中有一个GUI,其中包含以下元素:

  • 主GUI
  • 其他GUI(与此案例无关......)
  • ExternalControl class
  • ExternalControl类的对象

ExternalControl类为不同的外部设备显示相同的功能,但这些方法的实现因设备而异。因此,我决定创建ExternalControl作为抽象类。根据{{​​1}}的抽象方法(覆盖它们),从不同的类控制不同的设备。所以我有以下

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(),并且编译在三个不同的dll中。

我已经这样做了,但我不知道在用户选择合适的设备时如何在运行时调用和使用正确的dll。

有什么想法吗?

非常感谢, 阿吉特

0 个答案:

没有答案