VB.NET没有看到一些类

时间:2011-06-17 05:54:02

标签: vb.net class shared public option-strict

我的一个课程似乎对我项目的其余部分是不可见的。我想知道在我使用公共资源之前,我是否必须以某种方式初始化它。

Class1的功能和方法立即出现在IntelliSense中,但Class2被视为一般(未知)对象。

我在Public SharedClass1中有一些Class2个功能。我可以使用

调用函数
Class1.myPublicSharedFunction()

正常。但是,当我使用Class2中的任何函数尝试此操作时,我收到错误:

Error   1   Option Strict On disallows late binding.

即使他们的类型当然是宣布的。如果我将工作函数从Class1复制并粘贴到Class2并尝试调用它,则会开始给出相同的错误。我在Class2中声明的任何测试函数都没有识别出它的类型,因此被指责尝试进行后期绑定。

这两个类都是公开的,所有提到的函数都是Public Shared。我不明白是什么让这些类的工作方式不同。就好像我需要在VB知道它的函数类型之前加载或编译Class2,但这些东西在VB中是自动的。

这可能是什么原因?

当我开始输入Class2.时,智能感知列表就是一个功能,而Class1被识别为一个类。

编辑: 如果我将Class2的确切内容复制到新类中,只将行Public Class ...更改为新名称,一切正常。我认为可能是名字太长了,所以我把课程复制到AnotherClassWithAReallyLongName,但这个也有效。
但是,如果我删除class2,然后重新添加并粘贴其内容,它仍然无效。

1 个答案:

答案 0 :(得分:1)

根据评论,你的代码中有一些名为`Class2'的东西隐藏了你的新类定义。删除它/重命名它,你的课程就可以了。