Entwickler-Ecke
C# - Die Sprache - Konstruktoren Überschreiben/Überdecken & co
Master_BB - Mi 06.09.06 20:24
Titel: Konstruktoren Überschreiben/Überdecken & co
Hallo,
ich weiß das ist eine billige frage aber in meinem Buch find ich gerade die Lösung nicht.
Und zwar wie überlagere ich Konstructoren in C#?
Also an sich muß mir einer das hier von Delphi nur in C# übersetzten gg. Wer will den Parser spielen?
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| class Base begin constructor Create(AValue : Int32); virtual; end; class Bla(Base) begin constructor Create(AValue : Int32); override;
constructor Create(AValue : Int32); begin inherited(AValue); end; end; |
Also was ich brauche ist wie bekomme ich dieses virtual und override in C# hin und
wie greife ich auf die Basis KlassenRoutine Create zu - sprich dieser inherited(AValue) aufruf in C#
Danke und
Gruß
Master_BB - Mi 06.09.06 23:22
hm ok,
in C# vererbt man keien Konstruktoren und Destruktoren.
Diese kleine stelle habe ich gerade im
"Die C# Programmiersprache" Buch von Anders Hejlsberg
gelesen.
damit hat sich die sache dann.
gruß
Robert_G - Fr 08.09.06 11:46
Auch wenn ich normal nicht in deinen Threads antworte, hast du dir mal genau überlegt was in dem Delphi.Net code oben für IL generiert wird? Die CLR hat keine übervirtuellen Konstruktoren (Ohne MetaClasses ja auch schlecht möglich).
Und ich könnte wetten, dass du oben gar keine virtuellen Konstruktoren gebraucht hättest.
Christian S. - Fr 08.09.06 11:50
Robert_G hat folgendes geschrieben: |
Auch wenn ich normal nicht in deinen Threads antworte, |
Könntest Du bitte drauf verzichten, dass jedes Mal zu betonen, wenn Du es doch tust? Das nervt so'n bisschen.
Robert_G - Fr 08.09.06 12:00
Christian S. hat folgendes geschrieben: |
Robert_G hat folgendes geschrieben: | Auch wenn ich normal nicht in deinen Threads antworte, | Könntest Du bitte drauf verzichten, dass jedes Mal zu betonen, wenn Du es doch tust? Das nervt so'n bisschen. |
Ts Ts, sicher nicht jedes Mal.
Aber bei manchen will ich einfach dass sie es wissen. ;)
Master_BB - Fr 08.09.06 17:17
also was ich als antwort in einem forum erwarte wo solch
allwissende "Robterts" vorhanden sind, wäre dies hier gewesen
(was ich jetzt durch lästiges suchen doch noch gefunden habe)
-----------
hya, hier so greift man auf den vorfahr Konstruktor zu,
und die überlagerung sieht man hier auch gleich.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| class myBase{ public myBase(Int32 AParam){} } class blubb : myBase{ public blubb(Int32 APara) : base(APara){ } } |
achja und ob der basisklassen konstuktor nun virtual ist oder nicht
war nun nicht wirklich die frage.
gruß
Robert_G - Fr 08.09.06 18:46
Master_BB hat folgendes geschrieben: |
also was ich als antwort in einem forum erwarte wo solch allwissende "Robterts" vorhanden sind, wäre dies hier gewesen (was ich jetzt durch lästiges suchen doch noch gefunden habe) |
Du sagtest doch, dass du es gefunden hast.
Ich habe das oben nur geschrieben, weil Delphi.Net User vergessen wie man solchen Code außerhalb von Delphi benutzen würde. Virt. Konstruktoren machen es da nicht einfach. ;)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!