Entwickler-Ecke

Basistechnologien - Prüfen ob Methode in Klasse vorhanden


alf-66 - Sa 21.03.09 22:47
Titel: Prüfen ob Methode in Klasse vorhanden
Hallo zusammen,

bin ein ziemlicher Neuling und versuche mich gerade an meinem ersten Projekt, daher meine Frage:

Gibt es einen Weg, ein Objekt auf das Vorhandensein einer Methode zu prüfen?

Ich habe ein TabControl, welches unterschiedliche Usercontrols beinhaltet und will prüfen, ob die aktive TabPage eine Methode hat, die "Validate" heißt.

In einer anderen Programmiersprache kann es so gelöst werden, vielleicht wird so klar, was ich meine.

C#-Quelltext
1:
2:
3:
4:
if (IsMehtod(oTabControl:SelectedTab, "Validate"))
{
 Send(oTabControl:SelectedTab, "Validate")
}


Vielen Dank für eure Hilfe!!!

LG

Moderiert von user profile iconChristian S.: C#-Tags hinzugefügt


Kha - Sa 21.03.09 23:03

:welcome:

Möglich ist sowas auch unter .NET, ja. Aber um einiges schicker (= einer statisch typisierten Sprache wie C# angemessener) wäre folgender Ansatz:
Benutze für deine UserControls ein

C#-Quelltext
1:
2:
3:
4:
interface IValidatable
{
  void Validate();
}

dann sieht deine Abfrage so aus:

C#-Quelltext
1:
2:
3:
IValidatable validatable = selectedUserControl as IValidatable;
if (validatable != null)
  validatable.Validate();


PS: Ich nehme mal an, es geht um UserControls in den TabPages oder um TabPage-Nachfahren (was dann keine UserControls mehr wären).


alf-66 - So 22.03.09 16:10

Wow, das war ja mal eine schnelle Antwort. :-)

Vielen Dank, das hilft mir auf jeden Fall weiter!!!

LG