Hallo!
Ich versuche momentan ein Programm von Delphi .NET nach C# zu portieren (es werden also noch mehr Fragen von mir kommen
). Dabei hänge ich nun an folgender Stelle: Ich habe eine Basisklasse
Namepart, welche folgende Mehtode implementiert:
C#-Quelltext
1:
| public static bool isChecked(CheckedListBox.CheckedItemCollection checkedItems) |
Die Methode soll von einer von
Namepart abgeleiteten Klasse aufgerufen werden und feststellen, ob ein Objekt des Typs der entsprechenden Klasse in den
checkedItems sind. Erster Ansatz wäre ja das hier:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7:
| public static bool isChecked(CheckedListBox.CheckedItemCollection checkedItems) { foreach (object o in checkedItems) if (o.GetType() == return true; return false; } |
Leider scheitere ich dran, den entsprechenden Typ herauszufinden. Es soll, wenn die Methode über eine abgeleitete Klasse aufgerufen wird, auch die abgeleitete Klasse als Typ herauskommen.
Ich hoffe, ich habe mich verständlich gemacht
Grüße
Christian
P.S.: Ich habe schon gedacht, jeder Klasse eine statische Methode
GetTypezu geben, welche den Typ zurückliefert. Aber um sicherzugehen, dass die auch in jeder Klasse implementiert wird, müsste ich sie in
Namepart abstrakt machen. Leider dürfen statische Methdoden in C# wohl nicht abstrakt sein.
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".