Ich möchte wissen, ob eine Klasse von einer Klasse und einer Schnittstelle erben kann. Der folgende Beispielcode funktioniert nicht, aber ich denke, er vermittelt, was ich tun möchte. Der Grund, warum ich dies tun möchte, ist, dass wir in meinem Unternehmen USB-, serielle, Ethernet- usw. Geräte herstellen. Ich versuche, eine generische Komponente / Schnittstelle zu entwickeln, mit der ich Programme für alle unsere Geräte schreiben kann, die dazu beitragen, dass die allgemeinen Dinge (wie Verbinden, Trennen, Abrufen der Firmware) für alle unsere Anwendungen gleich bleiben.
So fügen Sie dieser Frage hinzu: Wenn sich GenericDevice in einem anderen Projekt befindet, kann ich die IOurDevices-Schnittstelle in dieses Projekt einfügen und dann die USBDevice-Klasse veranlassen, die Schnittstelle zu implementieren, wenn ich einen Verweis auf das erste Projekt hinzufüge? Denn ich möchte nur auf ein Projekt verweisen und dann je nach Gerät unterschiedliche Schnittstellen implementieren.
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;
}
}