1

我的一门课似乎对我的项目的其余部分是不可见的。我想知道是否必须以某种方式初始化它,然后才能使用它的公共内容。

的函数和方法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,然后重新添加并粘贴其内容,它仍然无法正常工作。

4

1 回答 1

1

根据评论,您的代码中有其他名为“Class2”的内容隐藏了您的新类定义。删除它/重命名它,你的类就可以工作了。

于 2011-06-17T23:25:42.733 回答