DirectCast İşleci (Visual Basic)
Devralma veya uygulama temel türü dönüştürme işlemi tanıtır.
Notlar
DirectCastVisual Basic çalışma zamanı yardımcı yordamlar biraz sağlayabilir dönüştürme için daha iyi performans kullanmaz CType ve alınan veri türü dönüştürme sırasında Object.
Kullandığınız DirectCast benzer şekilde kullandığınız anahtar sözcük CType İşlevi (Visual Basic) ve TryCast İşleci (Visual Basic) anahtar sözcüğü.İlk bağımsız değişken ve ikinci bağımsız değişken olarak dönüştürmek bir türü olarak bir deyim girin.DirectCastdevralma veya uygulama bir ilişki arasında iki bağımsız değişkenlerinin veri türlerini gerektirir.Bu, bir tür gerekir devralmıyor veya diğer uygulamak anlamına gelir.
Hataları ve başarısızlıkları
DirectCastdevralma veya uygulama bir ilişkisi olduğunu algılarsa, bir derleyici hatası oluşturur.Ancak, derleyici hatası yetersizliği başarılı bir dönüşüm garanti etmez.İstenen Dönüşüm daraltmaya, çalışma zamanında başarısız olabilir.Bu durumda, çalışma zamanı yaratmaz bir InvalidCastException hata.
Dönüştürme anahtar sözcükler
Anahtar sözcükleri yazın dönüştürme karşılaştırmasını aşağıdaki gibidir.
Anahtar Sözcük |
Veri türleri |
Bağımsız değişken ilişkisi |
Çalışma zamanı hatası |
Tüm veri türleri |
İki veri türleri arasında dönüştürme daraltmayı veya daraltmayı tanımlanmalıdır |
YaratmazInvalidCastException |
|
DirectCast |
Tüm veri türleri |
Bir tür devralmıyor veya diğer tür uygulamak |
YaratmazInvalidCastException |
Başvuru tipleri |
Bir tür devralmıyor veya diğer tür uygulamak |
DöndürürNothing (Visual Basic) |
Örnek
Aşağıdaki örnek, iki kullanımını gösterir DirectCast, çalışma zamanında başarısız bir diğeri de başarılı olur.
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ı yazın q olan Double.CTypebaşarılı olur çünkü Double dönüştürülebilir Integer.Ancak, ilk DirectCast çalışma zamanı yazın çünkü zamanında başarısız Double ile devralma ilişkisi yoktur Integer, dönüştürme olmasına karşın.İkinci DirectCast türünden dönüştürdüğünden başarılı Form yazmak için Control, içinden Form devralır.