DirectCast İşleci (Visual Basic)

Devralmaya veya uygulamaya dayalı bir tür dönüştürme işlemi sağlar.

Açıklamalar

DirectCast, dönüştürme için Visual Basic çalışma zamanı yardımcı yordamlarını kullanmaz, bu nedenle veri türüne ve türünden dönüştürmeye göre biraz daha CType iyi performans Object sağlar.

Anahtar sözcüğünü DirectCast CType İşlevi ve TryCast İşleci anahtar sözcüğünü kullanmaya benzer şekilde kullanırsiniz. bir ifadeyi ilk bağımsız değişken olarak ve ikinci bağımsız değişken olarak dönüştürmek için bir tür olarak slarız. DirectCast , iki bağımsız değişkenin veri türleri arasında bir devralma veya uygulama ilişkisi gerektirir. Bu, bir türün diğer türden devralması veya diğer bir türü uygulaması anlamına gelir.

Hatalar ve Hatalar

DirectCast devralma veya uygulama ilişkisi olmadığını algılarsa bir derleyici hatası üretir. Ancak derleyici hatası olmaması, başarılı bir dönüştürmeyi garantileyemdir. İstenen dönüştürme daraltıyorsa, çalışma zamanında başarısız olabilir. Bu durumda çalışma zamanı bir hata InvalidCastException verir.

Dönüşüm Anahtar Sözcükleri

Tür dönüştürme anahtar sözcüklerinin karşılaştırması aşağıdaki gibidir.

Anahtar kelime Veri türleri Bağımsız değişken ilişkisi Çalışma zamanı hatası
CType İşlevi Herhangi bir veri türü İki veri türü arasında genişle veya daraltma dönüştürmesi tanımlanmalıdır Atar InvalidCastException
DirectCast Herhangi bir veri türü Bir tür, diğer türden devralmalı veya diğer türü uygulamalı Atar InvalidCastException
TryCast İşleci Yalnızca başvuru türleri Bir tür, diğer türden devralmalı veya diğer türü uygulamalı Hiçbir Şey Döndürür

Örnek

Aşağıdaki örnekte, biri çalışma zamanında başarısız olan ve biri başarılı olan DirectCast iki kullanımı gösterildi.

Dim q As Object = 2.37
Dim i As Integer = CType(q, Integer)
' The following conversion fails at run time
Dim j As Integer = DirectCast(q, Integer)
Dim f As New System.Windows.Forms.Form
Dim c As System.Windows.Forms.Control
' The following conversion succeeds.
c = DirectCast(f, System.Windows.Forms.Control)

Yukarıdaki örnekte, çalışma zamanı türü q Double olur. CType , 'a Double dönüştürülene kadar başarılı Integer olur. Ancak, bir dönüştürme mevcut olsa bile çalışma zamanı türü ile devralma ilişkisine sahip değildir, çünkü ilk çalışma DirectCast Double zamanında başarısız Integer olur. İkinci başarılı DirectCast olur çünkü türünden türüne Form dönüştürür ve Control Form devralınır.

Ayrıca bkz.