在不使用类的命名空间的情况下声明对象

 平凡的稳健投资 发布于 2023-02-12 16:48

我有一个名为的类库项目MyWidget,唯一的类被命名MyWidget.

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

Imports MyWidget

Imports MyWidget.MyWidget

但是,当我尝试创建新引用时,我的课程稍后,Visual Studio不允许我输入:

Private widget As MyWidget

但是,Visual Studio给了我一个"预期的类型".错误并强迫我也包含命名空间,如下所示:

Private widget As MyWidget.MyWidget

我阅读了有关该声明的MSDN文档Imports.在声明对象时我应该可以不使用命名空间,因为我在程序顶部有import语句.我已经使用标准命名空间对它进行了测试,它工作正常,但是当我在课堂上尝试时,它没有.

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

我也尝试重命名命名空间MyClasses,想也许是Visual Studio中渐渐与类混淆了命名空间.然而,即使有

Imports MyClasses.MyWidget

尝试在MyWidget没有MyClasses命名空间的情况下定义对象时仍然会出错.

1 个回答
  • 由于命名空间和类具有相同的名称,因此在尝试实例化MyWidget时,编译器会感到困惑,尽管存在Imports语句.只是因为有一个Imports语句,并不意味着你不能完全定义一个类型(即使你有Imports System.IO.File,你仍然可以调用System.IO.File.WriteAllText),因此混淆了编译器结束.另一种方法是使用别名.

    Imports AWidget = MyWidget.MyWidget
    

    然后..

    Dim objWidget As New AWidget
    

    2023-02-12 16:51 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有