ObjectTyp ermitteln

16/05/2008 - 16:04 von Konrad Hammerer | Report spam
Hallo!

Wie kann ich den genauen Typen eines Objekts ermitteln. Mit folgendem Code:

Dim o1 As New BO_Anwender
If TypeOf o1 Is BO_Basis Then
'
' Ist auch was wenn BO_Anwender von BO_Basis abgeleitet ist
'
End If

bekommt man auch True, wenn BO_Anwender von BO_Basis abgeleitet ist. Ich
brauche eine Methode, um genau auf das Objekt BO_Anwender abzuprüfen und
nur da soll der Wert True sein.

Mit dem Code:

Dim o1 As New BO_Anwender
If o1.GetType.Name = New BO_Anwender().GetType.Name Then
'
' So geht es...
'
End If

klappt es zwar, aber dafür muss eine neue Instanz vom Typ BO_Anwender
erzeugt werden. Es muss doch auch anders gehen, oder?

Grüße,
Konrad Hammerer
 

Lesen sie die antworten

#1 Martin H.
16/05/2008 - 16:27 | Warnen spam
Hallo Konrad,


Dim o1 As New BO_Anwender
If TypeOf o1 Is BO_Basis Then
'
' Ist auch was wenn BO_Anwender von BO_Basis abgeleitet ist
'
End If

bekommt man auch True, wenn BO_Anwender von BO_Basis abgeleitet ist. Ich
brauche eine Methode, um genau auf das Objekt BO_Anwender abzuprüfen und
nur da soll der Wert True sein.



warum überprüfst Du dann auf BO_Basis, wenn Du doch wissen willst ob das
Objekt vom Typ BO_Anwender sein soll?

Es müßte also nur einfach lauten:

If TypeOf o1 Is BO_Anwender Then
...
End If


Wenn Du mehrere Vergleiche machen willst, kannst Du mit EndIf-Zeilen
weitermachen.

If TypeOf o1 Is BO_Anwender Then
...
ElseIf TypeOf o1 Is BO_Basis Then
...
End If


Beste Grüße,

Martin

Ähnliche fragen