Voglio sapere se una classe può ereditare da una classe e un'interfaccia. Il codice di esempio che segue non funziona ma penso che trasmetta ciò che voglio fare. Il motivo per cui voglio farlo è perché nella mia azienda realizziamo dispositivi USB, seriali, Ethernet, ecc. Sto cercando di sviluppare un componente / un'interfaccia generica che posso usare per scrivere programmi per tutti i nostri dispositivi che contribuiranno a mantenere le cose comuni (come la connessione, la disconnessione, il recupero del firmware) lo stesso per tutte le nostre applicazioni.
Per aggiungere a questa domanda: Se GenericDevice si trova in un progetto diverso, posso inserire l'interfaccia IOurDevices in quel progetto, quindi fare in modo che la classe USBDevice implementi l'interfaccia se aggiungo un riferimento al primo progetto? Perché vorrei solo fare riferimento a un progetto e quindi implementare interfacce diverse a seconda di quale sia il dispositivo.
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;
}
}