Mehrere Basis-Klassen für eine abgeleitete Klasse, Vererbung C#
Dies klingt vielleicht wie eine ziemlich, ich wage zu sagen, dumme Frage, bitte Geduld mit mir :
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?
Deine Hilfe wird wirklich geschätzt!
Sie können nicht mehrere Basisklassen. Können Sie eine einzige Basisklasse und unendlich-Schnittstellen
Die Notwendigkeit von Mehrfachvererbung immer Ergebnisse
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
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
Du musst angemeldet sein, um einen Kommentar abzugeben.
C# unterstützt keine mehrfache Vererbung. Sie können nur mehrere interfaces implementieren, und Erben, (erweitern) einer einzelnen Basisklasse.
vielleicht möchten Sie sich an das Diamant-problem für einen Grund, warum dies nie funktionieren würde in c#.
Sie können jedoch die Arbeit mit cascading Vererbung.
Grandchild
erbt vonChild
, die inhertis vonMother
.Ich habe versucht, die kaskadierende Vererbung erste, aber das musste ich machen, weil ich nicht finden konnte, einen Weg, um mehrere Page_Load-events arbeiten.
ty, hier ist ein besserer link, aber für noobs wie mich: nazar-merza.com/index.php/getting-started/... , es erklärt das Diamant-problem wirklich gut, das Tier Beispiel glaube ich nicht, das beste war doch immer noch eine gute Ressource
InformationsquelleAutor Mike Dinescu
Was Sie tun können ist, stellen Sie eine Klasse, die erbt von der ersten base
sowas
Nicht, dass ich wie diese, aber es kann helfen, in einigen Fällen
InformationsquelleAutor CMS