Public MyObj как объектTypeOf является MyType
Public Function Test(t as Type) as Boolean
Return TypeOf MyObj is t ' does not work
End Function
Спасибо.
* EDIT
======================================== ================================================
Для ясности я буду использовать полный пример, немного модифицированный, который изначально считался.
Я использую интерфейс и хотел бы знать, являются ли объекты (реализация I), переданные в аргументе, тем же самым типом, что и внутреннее поле (I; A: I; AA: A; B: I).
Прежде всего, (а) мне нужно идентифицировать точный класс (только А = А, В = В, АА = АА) и я хотел бы также (б) иметь "наследование эквивалентности" (A = A и A = AA но <> B)
Option Strict On
Option Explicit On
Public Class Form1
' object to test
Private objI As I
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
Dim aObj As New A
Dim aaObj As New AA
Dim bObj As New B
'assing the object to test - A
Me.objI = New A
'test it
MessageBox.Show(SameTypeAs(aObj).ToString()) ' need True here
MessageBox.Show(SameTypeAs(bObj).ToString()) ' need False here
MessageBox.Show(SameTypeAs(aaObj).ToString()) ' need a)Flase and b)True here
End Sub
Function SameTypeAs(ByVal iObj As I) As Boolean
' here is the "problem":
' how to detect the same (sub)types of I?
Return Me.objI Is iObj
End Function
' interface..........
Interface I
End Interface
' class A..........
Class A
Implements I
End Class
' class B..........
Class B
Implements I
End Class
' class AA..........
Class AA
Inherits A
End Class
End Class
А в чем проблема ? «не работает» не совсем описательно – erikkallen