Autor Beitrag
Master_BB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 90



BeitragVerfasst: Mi 06.09.06 20:24 
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?

ausblenden 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);
    //mehr
  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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 90



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 416


Delphi32 (D2005 PE); Chrome/C# (VS2003 E/A, VS2005)
BeitragVerfasst: 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.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Fr 08.09.06 11:50 
user profile iconRobert_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.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Robert_G
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 416


Delphi32 (D2005 PE); Chrome/C# (VS2003 E/A, VS2005)
BeitragVerfasst: Fr 08.09.06 12:00 
user profile iconChristian S. hat folgendes geschrieben:
user profile iconRobert_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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 90



BeitragVerfasst: 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.

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
class myBase{
    public myBase(Int32 AParam){/*code*/}
}
class blubb : myBase{
    public blubb(Int32 APara) : base(APara){ //hier per base(parameter) zugriff auf vorgägner
       //code
    }
}


achja und ob der basisklassen konstuktor nun virtual ist oder nicht
war nun nicht wirklich die frage.

gruß
Robert_G
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 416


Delphi32 (D2005 PE); Chrome/C# (VS2003 E/A, VS2005)
BeitragVerfasst: Fr 08.09.06 18:46 
user profile iconMaster_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. ;)