Mehrere Basis-Klassen für eine abgeleitete Klasse, die Vererbung in C#

Wenn ich eine Klasse mit zwei Basisklassen :

public partial MyClass : Base1, Base2 {


}

Aufruf der Konstruktor von Base1 würde ich dies tun:

public MyClass() : base(myParamForBase1); 

Aber ich brauche Sie zum aufrufen der zweiten Basis-Klasse, um den base-init Wert wie diese:

base.OnInit(e); 

Kann ich nicht tun, die oben natürlich, weil C# denkt, ich beziehe mich auf Base1 nicht Base2, wie kann ich dies beheben? In anderen Worten, wie kann ich verweisen auf Base2?

  • Sie können nicht mehrere Basisklassen. Können Sie eine einzige Basisklasse und unendlich-Schnittstellen
  • Die Notwendigkeit von Mehrfachvererbung immer Ergebnisse from eine schlecht entworfene Klassenstruktur. Post ein Beispiel für das, was Sie brauchen. Ich bin sicher, es ist eine Art zu strukturieren, so dass Sie nicht brauchen, Mehrfachvererbung (die nicht existiert sowieso)
  • sicher, ich hab das konvertieren jetzt ob Sie es glauben oder nicht, ein MVC-Projekt zu einem standard .NET-Projekt für SharePoint. Ich kann nach meiner situation und es wäre toll, wenn könnten Sie mir helfen
  • WAS. Oh, ich sehe, dass Sie nicht wusste, hat C# eine mehrfache Vererbung. Sie Klang wie Sie waren in der Lage, alle oben genannten kompilieren. Ich dachte, C# verändert viel in einer neueren version
  • lol ja, ich entschuldige mich für meine Unwissenheit
InformationsquelleAutor anpatel | 2013-05-27
Schreibe einen Kommentar