gpt4 book ai didi

vb.net - 不使用类的命名空间来声明对象

转载 作者:行者123 更新时间:2023-12-02 06:54:14 24 4
gpt4 key购买 nike

我有一个名为 MyWidget 的类库项目,其中唯一的类名为 MyWidget

在另一个项目中,我添加了对类库的引用,在我的新类中,我尝试输入

Imports MyWidget

Imports MyWidget.MyWidget

但是,稍后在类里面,当我尝试创建新引用时,Visual Studio 不允许我输入以下内容:

Private widget As MyWidget

但是,Visual Studio 给了我一个“预期类型”。错误并迫使我还包含 namespace ,如下所示:

Private widget As MyWidget.MyWidget

我读了MSDN documentation关于 Imports 声明。我应该能够在声明对象时省略 namespace ,因为我在程序顶部有导入语句。我已经使用标准命名空间对此进行了测试,并且它工作正常,但是当我在我的类中尝试它时,它却不起作用。

我是否在 MyWidget 类中遗漏了某些内容,这些内容允许我在声明对象时省略命名空间?

我还尝试将命名空间重命名为 MyClasses,认为 Visual Studio 可能会将命名空间与类混淆。然而,即使有

Imports MyClasses.MyWidget

尝试定义没有 MyClasses 命名空间的 MyWidget 对象时,我仍然收到错误。

最佳答案

由于命名空间和类具有相同的名称,因此当您尝试实例化 MyWidget 时,尽管有 Imports 语句,编译器也会感到困惑。仅仅因为有一个 Imports 语句,并不意味着您不能完全限定一个类型(即使您有 Imports System.IO.File,您仍然可以调用 System.IO.File.WriteAllText),因此会造成困惑编译器结束。另一种选择是使用别名。

Imports AWidget = MyWidget.MyWidget

然后..

Dim objWidget As New AWidget

关于vb.net - 不使用类的命名空间来声明对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20404919/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com