在C#中,一个类能否继承自另一个类和一个接口?

我想知道一个类是否可以继承自一个类和接口。
下面的示例代码不工作,但我认为它传达我想做的事情。
有没有任何建议?我想这样做的原因是因为在我公司我们做USB,串行,以太网等设备。我试图开发一个通用的组件/接口,我可以用来为所有我们的设备编写程序,这将有助于保持常见的东西(如连接,断开连接,获得固件)相同的所有我们的应用程序…任何建议被推崇!

添加到这个问题:如果GenericDevice在不同的项目,我可以把IOurDevices接口在那个项目,然后使USBDevice类实现接口,如果我添加一个引用到第一个项目?因为希望只引用一个项目,然后实现不同的接口,取决于设备是什么…

class GenericDevice
{
   private string _connectionState;
   public connectionState
   {
      get{return _connectionState; }
      set{ _connectionState = value;}
   }
}

interface IOurDevices
{
   void connectToDevice();
   void DisconnectDevice();
   void GetFirmwareVersion();
}

class USBDevice : IOurDevices : GenericDevice
{
   //here I would define the methods in the interface
   //like this...
   void connectToDevice()
   {
       connectionState = "connected";
   }
}

//so that in my main program I can do this...

class myProgram
{
   main()
   {
      USBDevice myUSB = new USBDevice();
      myUSB.ConnectToDevice;
   }
}
是。尝试:

class USBDevice : GenericDevice, IOurDevice

注意:基类应该在接口名称列表之前。

当然,你仍然需要实现接口定义的所有成员。但是,如果基类包含与接口成员匹配的成员,则基类成员可以作为接口成员的实现,您不需要再次手动实现它。

http://stackoverflow.com/questions/2059425/in-c-can-a-class-inherit-from-another-class-and-an-interface

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:在C#中,一个类能否继承自另一个类和一个接口?