是的,因為這是一個強制轉換,但你沒有定義轉換的方法。 如果想要 D d6 = (D) b1; 這句話能夠正常運行,則需要在Class D中重載如下運算: internal class D:B { public static explicit operator D(B b) //這是一個顯式轉換 { //具體轉換方法 }
目前成都創(chuàng)新互聯(lián)公司已為近千家的企業(yè)提供了網站建設、域名、網頁空間、成都網站托管、企業(yè)網站設計、安丘網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
使用類型轉換函數CSByt或CByte
如:CSByt(Integer)
Byte
數據類型擴大
Short、
UShort、
Integer、
UInteger、
Long、
ULong、
Decimal、
Single
或
Double??梢詫?/p>
Byte
轉換為這些類型中的任何類型,而不會遇到
System
.OverflowException
錯誤
返回表達式顯式地轉換為指定數據類型、對象、結構、類或接口后的結果。
CType(expression, typename)各部分說明expression任何有效的表達式。如果 expression 的值超出了 typename 所允許的范圍,將會出現(xiàn)錯誤。
typename任何在 Dim 語句的 AS 子句內合法的表達式,即任何數據類型、對象、結構、類或接口的名稱。
備注CType 采用內聯(lián)方式編譯,即轉換代碼是計算表達式的代碼的一部分。因為不需要調用完成轉換的過程,因此執(zhí)行速度更快。
示例本示例使用 CType 函數將表達式轉換為指定的數據類型。
CType 函數
任何數據類型
必須在兩種數據類型之間定義擴大轉換或收縮轉換
引發(fā) InvalidCastException
DirectCast
任何數據類型
一個類型必須繼承自或者實現(xiàn)另一個類型
引發(fā) InvalidCastException
TryCast
僅引用類型
一個類型必須繼承或者實現(xiàn)另一個類型
返回 Nothing (Visual Basic)