0

我不知道如何将类型为“对象”的对象转换为用户定义的类类型。

我有一个私有实例变量:

Private studyType as Object

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

基本上它看起来像这样:

studyType = new VCEOnly()

但是,我只被允许使用Object类 subs 和函数,因为类型被定义为Object. 所以我需要将它转换为VCEOnly类类型,以便我可以访问它的子类和函数。

基本上,studyType需要从Objectto铸造VCEOnly。我不允许在声明时预先studyType定义VCEOnly

4

2 回答 2

2

您还可以使用:

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 的转换填充。

于 2012-07-24T08:43:23.523 回答
1

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

这样的事情应该这样做:

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

或者你可以这样做:

With CType(studyType, VCEOnly)
    .SomeVCEOnlyProperty = "SomeValue"
End With
于 2012-07-24T08:09:12.383 回答