TypeOf İşleci (Visual Basic)
İfadenin sonucunun çalışma zamanı türünün belirtilen türle uyumlu olup olmadığını denetler.
Sözdizimi
result = TypeOf objectexpression Is typename
result = TypeOf objectexpression IsNot typename
Parça
result
Döndürülen. Bir Boolean
değer.
objectexpression
Gerekli. Başvuru türü olarak değerlendirilen tüm ifadeler.
typename
Gerekli. Herhangi bir veri türü adı.
Açıklamalar
TypeOf
işleci, çalışma zamanı türünün objectexpression
ile typename
uyumlu olup olmadığını belirler. Uyumluluk türü kategorisine typename
bağlıdır. Aşağıdaki tabloda uyumluluğun nasıl belirlendiği gösterilmektedir.
Kategori türü typename |
Uyumluluk ölçütü |
---|---|
Sınıf | objectexpression türünde typename veya devralan typename |
Yapı | objectexpression türünde typename |
Arabirim | objectexpression typename uygulayan veya uygulayan bir sınıftan devralantypename |
Çalışma zamanı türü objectexpression
uyumluluk ölçütlerini karşılarsa, result
olur True
. Aksi takdirde, result
şeklindedir False
. Null ise objectexpression
, TypeOf
...Is
döndürür False
ve ...IsNot
döndürür True
.
TypeOf
her zaman bir ... ifadesi oluşturmak TypeOf
için anahtar sözcüğüyle Is
veya bir ...IsNot
ifadesi oluşturmak TypeOf
için anahtar sözcüğüyle IsNot
birlikte kullanılır.Is
Örnek
Aşağıdaki örnekte, iki nesne başvuru değişkeninin çeşitli veri türleriyle tür uyumluluğunu test etmek için ...Is
ifadeleri kullanılmaktadırTypeOf
.
Dim refInteger As Object = 2
MsgBox("TypeOf Object[Integer] Is Integer? " & TypeOf refInteger Is Integer)
MsgBox("TypeOf Object[Integer] Is Double? " & TypeOf refInteger Is Double)
Dim refForm As Object = New System.Windows.Forms.Form
MsgBox("TypeOf Object[Form] Is Form? " & TypeOf refForm Is System.Windows.Forms.Form)
MsgBox("TypeOf Object[Form] Is Label? " & TypeOf refForm Is System.Windows.Forms.Label)
MsgBox("TypeOf Object[Form] Is Control? " & TypeOf refForm Is System.Windows.Forms.Control)
MsgBox("TypeOf Object[Form] Is IComponent? " & TypeOf refForm Is System.ComponentModel.IComponent)
değişkeninin refInteger
çalışma zamanı türü vardır Integer
. ile Integer
uyumludur ancak ile Double
uyumlu değildir. değişkeninin refForm
çalışma zamanı türü vardır Form. ile uyumludur Form çünkü bu türüdür, Control çünkü Form öğesinden Controldevralır ve IComponentForm öğesini uygulayan IComponentöğesinden Componentdevralır. Ancak, refForm
ile Labeluyumlu değildir.