2009-06-16 18 views

cevap

14

Eğer TypeOf gibi bir şey mi arıyorsunuz? Bu sadece int/etc değil referans türleri ile çalışır.

If TypeOf "value" Is String Then 
    Console.WriteLine("'tis a string, m'lord!") 

Yoksa iki farklı değişken örneğini karşılaştırmak ister misiniz? Ayrıca ref türleri için kullanılabilir:

Dim one As Object = "not an object" 
Dim two As Object = "also not an object, exactly" 
Dim three as Object = 3D 

If one.GetType.Equals(two.GetType) Then WL("They are the same, man") 
If one.GetType Is two.GetType then WL("Also the same") 
If one.GetType IsNot three.GetType Then WL("but these aren't") 

Ayrıca, böylelikle gibi gettype() kullanabilirsiniz iki nesne kullanmıyorsanız: Bir şeyin başka türde bir alt sınıf olup olmadığını görmek istiyorsanız

If three.GetType Is gettype(integer) then WL("is int") 

If three.GetType.IsSubclassOf(gettype(Object)) then WL("it is") 

Ama önceki sürümlerinde bunu yapmak istiyorsanız, (bakmak için garip) bunu çevirmek zorunda ve kullanmak: (ve .net 3.5 olan)

If gettype(Object).IsAssignableFrom(three.GetType) Then WL("it is") 

Bunların tümü SnippetCompiler'da derlenmiştir, bu nedenle, elinizde yoksa DL öğesine gidin.

3
TypeOf obj Is MyClass 
0

VB eşdeğer neredeyse aynı:

Dim result As Boolean = obj.GetType().IsAssignableFrom(otherObj.GetType()) 
İlgili konular