是的,因为这是一个强制转换,但你没有定义转换的方法。 如果想要 D d6 = (D) b1; 这句话能够正常运行,则需要在Class D中重载如下运算: internal class D:B { public static explicit operator D(B b) //这是一个显式转换 { //具体转换方法 }
目前成都创新互联公司已为近千家的企业提供了网站建设、域名、网页空间、成都网站托管、企业网站设计、安丘网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
使用类型转换函数CSByt或CByte
如:CSByt(Integer)
Byte
数据类型扩大
Short、
UShort、
Integer、
UInteger、
Long、
ULong、
Decimal、
Single
或
Double。可以将
Byte
转换为这些类型中的任何类型,而不会遇到
System
.OverflowException
错误
返回表达式显式地转换为指定数据类型、对象、结构、类或接口后的结果。
CType(expression, typename)各部分说明expression任何有效的表达式。如果 expression 的值超出了 typename 所允许的范围,将会出现错误。
typename任何在 Dim 语句的 AS 子句内合法的表达式,即任何数据类型、对象、结构、类或接口的名称。
备注CType 采用内联方式编译,即转换代码是计算表达式的代码的一部分。因为不需要调用完成转换的过程,因此执行速度更快。
示例本示例使用 CType 函数将表达式转换为指定的数据类型。
CType 函数
任何数据类型
必须在两种数据类型之间定义扩大转换或收缩转换
引发 InvalidCastException
DirectCast
任何数据类型
一个类型必须继承自或者实现另一个类型
引发 InvalidCastException
TryCast
仅引用类型
一个类型必须继承或者实现另一个类型
返回 Nothing (Visual Basic)