我正在尝试使用反射来访问我创建的自定义程序集。具体来说,我正在尝试访问我创建的结构的公共列表。(这是定义公共假期的假期结构列表。)我确定我缺少一些基本的东西,但我在 IDE 中不断收到这个奇怪的错误。
Dim f As New OpenFileDialog() With { ... }
Dim rgAsm as Reflection.Assembly
Dim rgType as Type
Dim rgDLL as Object
rgASM = Reflection.Assembly.LoadFile(f.Filename)
rgType = rgAsm.GetType("rgReporting.rgReporting")
rgDLL = Activator.CreateInstance(rgType)
Dim holType As Type = modConf.rgAsm.GetType("rgReporting.PublicHolidays+Holiday")
If holType Is Nothing Then MsgBox("no.") Else MsgBox("yes!")
当我运行上面的代码时,我得到“是的!” msgbox 表示我的类型已由 GetType() 定义。但是,当我尝试编写以下代码时:
Dim blah as holType
IDE 给了我这个错误:“类型 'holType' 没有定义。”
我希望最终使用 a 中的类型,但这样做会产生相同的错误。我意识到我在将类型定义为可以使用的东西时缺少一些基本步骤,但我似乎找不到它是什么。