对象引用强制转换vb.net



我不知道如何将类型为"object"的对象强制转换为用户定义的类类型。

我有一个私有实例变量:

Private studyType as Object

我需要做的是从一个事件处理方法实例化这个对象。不,不引用new Object()

基本上是这样的:

studyType = new VCEOnly()

然而,我只被允许使用Object类的子类和函数,因为类型被定义为Object。所以我需要将它强制转换为VCEOnly类类型,这样我就可以访问它的子类和函数。

基本上,studyType需要从Object广播到VCEOnly。声明时不允许将studyType预先定义为VCEOnly

您也可以使用:

dim studyType as Object = new VCEOnly()    
...
dim studyTypeVCE as VCEOnly = nothing
if trycast(studytype,VCEOnly) IsNot Nothing then
   studyTypeVCE = DirectCast(studytype,VCEOnly)
   '... do your thing
end if

if语句检查对象是否可以强制转换为所需类型,如果是,则类型为VCEOnly的变量将用studytype的强制转换填充。

使用CType将对象从一种类型强制转换为另一种

应该这样做:

Dim studyType as Object
Dim studyTypeVCE as New VCEOnly
studyTypeVCE = Ctype(studyType,VCEOnly)

或者你可以这样做:

With CType(studyType, VCEOnly)
    .SomeVCEOnlyProperty = "SomeValue"
End With

相关内容

  • 没有找到相关文章

最新更新