C# Vererbung - Instanz im Konstruktor zuweisen

Registriert
Sep. 2015
Beiträge
191
Moin,

ich hab ne kurze Frage, vielleicht kann mir einer von euch helfen.

Ich möchte in C# eine Klasse von DataTable ableiten und im Konstruktor initialisieren. Ich habe schon eine Methode, die mir eine passende DataTable liefert. Kann ich die irgendwie im Konstruktor zuweisen? Ich hab es mit

Code:
this = meineFunktionDieEineDataTableLiefert();

probiert, aber da sagt der Kompiler, dass ich das so nicht machen kann: This expression cannot be used as an assignment target.

Oder kann ich keine abgeleitete Klasse mit einer Instanz der Basisklasse konstruieren?
 
Das was du vorhast geht so nicht, du kannst eine bereits Instanziierte Klasse nicht in eine davon Abgeleitet Klasse umwandeln.

Wenn es dir nur darum geht ein paar hilfreiche Methoden zu ergänzen kannst du dir mal die Extension-Methods anschauen. Ansonsten musst du dir eine Klasse bauen die nicht abgeleitet ist sondern die DataTable als Member enthält. Oder du versuchst deine Methode die die DataTable liefert schon so umzubauen dass sie stattdessen deine abgeleitete Klasse liefert.
 
Ich würde Jesterfox absolut Recht geben!

Führe doch einfach eine globale Klassenvariable vom Typ DataTable ein und weise die dann im Konstruktor entweder aus einem Parameter oder durch einen Methodenaufruf zu.
 
Ich denke, dass ich die Methode, die mir die DataTable liefert so umbaue, dass sie mir eine Liste liefert und in der von DataTable abgeleiteten Klasse mach ich dann die DataTable draus. Danke.
 
Zurück
Oben