2016-04-03 18 views
1

Tür parametresinin bir tür X türünde mi (veya türetilmiş olduğunu) kontrol etmenin uygun yolu nedir? Örneğin.Jenerik parametre türünün bazı sınıflardan türetip kaynaklanmadığını kontrol edin X

Function MyFunc(Of T As BaseClass)() As T 
    If TypeOf T Is GetType(ChildClass1) Then 
    'Do something specific to ChildClass1 
    End If 

    'Do things common to all BaseClass objects 
End Function 

Yukarıdaki kod ya da TypeOf olmadan derleme değildir.

+0

deneyin 'GetType (T) GetType (ChildClass1) Then' –

+0

@ZoharPeled mı. Giriş için teşekkürler. Eğer bunu yayınlarsan cevap olarak kabul edeceğim. – dotNET

cevap

2

ile TypeOf T'u değiştirin.
Kodunuz gibi görünmelidir: Anlaşılan düz ileri böylece bir şey kaçırmış:

Function MyFunc(Of T As BaseClass)() As T 
    If GetType(T) Is GetType(ChildClass1) Then 
    'Do something specific to ChildClass1 
    End If 

    'Do things common to all BaseClass objects 
End Function