Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Genel nesne değişkenleri (başka bir ifadeyle, olarak Objectbildirdiğiniz değişkenler) herhangi bir sınıftaki nesneleri tutabilir. türündeki Objectdeğişkenleri kullanırken, nesnenin sınıfına göre farklı eylemler gerçekleştirmeniz gerekebilir; örneğin, bazı nesneler belirli bir özelliği veya yöntemi desteklemeyebilir. Visual Basic, nesne değişkeninde hangi nesne türünün depolandığını belirlemek için iki araç sağlar: TypeName işlev ve TypeOf...Is işleç.
TypeName ve TypeOf... Dir
TypeName İşlev bir dize döndürür ve aşağıdaki kod parçasında gösterildiği gibi bir nesnenin sınıf adını depolamanız veya görüntülemeniz gerektiğinde en iyi seçenektir:
Dim Ctrl As Control = New TextBox
MsgBox(TypeName(Ctrl))
TypeOf...Is işleci, kullanarak TypeNameeşdeğer bir dize karşılaştırmasından çok daha hızlı olduğundan nesnenin türünü test etme için en iyi seçenektir. Aşağıdaki kod parçası, bir TypeOf...Is ifadesi If...Then...Else deyimi içinde kullanır:
If TypeOf Ctrl Is Button Then
MsgBox("The control is a button.")
End If
Burada bir uyarı sözü gerekiyor. işleci TypeOf...Is , bir nesne belirli bir türdeyse veya belirli bir türden türetilmişse döndürür True . Visual Basic ile yaptığınız hemen her şey, normalde nesne olarak düşünülmeyen dizeler ve tamsayılar gibi bazı öğeleri içeren nesneleri içerir. Bu nesneler Object nesnesinden türetilir ve yöntemlerini devralır. Bir Integer geçirildiğinde ve Object ile değerlendirildiğinde, TypeOf...Is işleci True döndürür. Aşağıdaki örnek, parametre InParam'nin hem bir Object hem de bir Integer olduğunu bildirir.
Sub CheckType(ByVal InParam As Object)
' Both If statements evaluate to True when an
' Integer is passed to this procedure.
If TypeOf InParam Is Object Then
MsgBox("InParam is an Object")
End If
If TypeOf InParam Is Integer Then
MsgBox("InParam is an Integer")
End If
End Sub
Aşağıdaki örnek, TypeOf...Is ve TypeName öğelerini Ctrl bağımsız değişkeninde ona geçirilen nesnenin türünü belirlemek için kullanır. İşlem, üç farklı denetim türüyle TestObject çağırır ShowType.
Örneği çalıştırmak için
Yeni bir Windows Uygulaması projesi oluşturun ve forma bir Button denetim, denetim CheckBox ve denetim RadioButton ekleyin.
Formdaki düğmeden
TestObjectyordamını çağırın.Formunuza aşağıdaki kodu ekleyin:
Sub ShowType(ByVal Ctrl As Object) 'Use the TypeName function to display the class name as text. MsgBox(TypeName(Ctrl)) 'Use the TypeOf function to determine the object's type. If TypeOf Ctrl Is Button Then MsgBox("The control is a button.") ElseIf TypeOf Ctrl Is CheckBox Then MsgBox("The control is a check box.") Else MsgBox("The object is some other type of control.") End If End Sub Protected Sub TestObject() 'Test the ShowType procedure with three kinds of objects. ShowType(Me.Button1) ShowType(Me.CheckBox1) ShowType(Me.RadioButton1) End Sub