Autor Beitrag
alf-66
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Sa 21.03.09 23:47 
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.
ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: So 22.03.09 00: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
ausblenden C#-Quelltext
1:
2:
3:
4:
interface IValidatable
{
  void Validate();
}

dann sieht deine Abfrage so aus:
ausblenden 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 Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: So 22.03.09 17:10 
Wow, das war ja mal eine schnelle Antwort. :-)

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

LG