我的一门课似乎对我的项目的其余部分是不可见的。我想知道是否必须以某种方式初始化它,然后才能使用它的公共内容。
的函数和方法Class1立即出现在 IntelliSense 中,但Class2被视为一般(未知)对象。
我在和中有一些Public Shared功能。我可以使用调用函数Class1Class2
Class1.myPublicSharedFunction()
一般。但是,当我使用 中的任何功能尝试此操作时Class2,我收到错误消息:
Error 1 Option Strict On disallows late binding.
即使它们的类型当然是声明的。Class1如果我从to复制并粘贴一个工作函数Class2并尝试调用它,它会开始给出相同的错误。我在其中声明的任何测试函数Class2都无法识别其类型,因此被指控试图进行后期绑定。
这两个类都是公共的,并且提到的所有功能都是Public Shared. 我不明白是什么让课程的工作方式不同。好像我需要Class2在 VB 知道它的函数类型之前加载或编译,但这些东西在 VB 中应该是自动的。
这可能是什么原因?
当我开始键入Class2.时,IntelliSense 列表是一个函数,而Class1被识别为一个类。
编辑:如果我将确切的内容复制Class2到新类中,只需将行更改Public Class ...为新名称,一切都会正常工作。我想可能是名字太长了,所以我把这个类复制到了AnotherClassWithAReallyLongName,但是这个也有用。
但是,如果我删除class2,然后重新添加并粘贴其内容,它仍然无法正常工作。