C# 与 VB.Net 中的命名空间引用

2023-11-21

在 VB.Net 中,您可以执行类似以下操作而不会出现任何问题...只需忽略这是一个非常无用的类这一事实:-)


Imports System

Public Class Class1
    Public Shared Function ArrayToList(ByVal _array() As String) As Collections.Generic.List(Of String)
        Return New Collections.Generic.List(Of String)(_array)
    End Function
End Class

但是如果你在 C# 中做同样的事情......


using System;

public class Class1
{
    public static Collections.Generic.List ArrayToList(string[] _array)
    {
        return new Collections.Generic.List(_array);
    }
}

您将在“Collections.Generic.List”返回线上收到一条错误,提示“无法找到类型或命名空间名称“Collections”(是否缺少 using 指令或程序集引用?)”

我知道你实际上必须有一个 System.Collections.Generic 的 using 指令才能使用 List,但我不知道why。我也不明白为什么我在函数声明中没有得到相同的错误,而只在 return 语句中得到同样的错误。

我希望有人可以解释这一点,甚至让我参考一个解释它的 technet 页面。我四处搜寻,但找不到任何可以解释这个概念的东西。

编辑:请注意,问题实际上是关于子命名空间的引用,例如在示例中能够引用 System 中的集合。


usingC# 中的指令不允许 this:

创建一个 using 指令来使用 无需在名称空间中键入 指定命名空间。一个使用 指令不允许您访问 嵌套在的任何命名空间 您指定的命名空间。

然而,VB.NET支持更接近行为与Imports陈述:

构成要素的范围 可通过进口声明获得 取决于你的具体情况 使用进口声明。为了 例如,如果只有一个命名空间 指定的、所有唯一命名的成员 该命名空间的成员以及 该命名空间内的模块是 无需资质即可使用。如果 命名空间和名称 该命名空间的元素是 指定,仅该成员 元素可用,无需 资格。

参考SO问题

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C# 与 VB.Net 中的命名空间引用 的相关文章

随机推荐

  • 计算字符串中每个字母的频率

    这是来自 pyschools 的问题 我确实做对了 但我猜会有一个更简单的方法 这是最简单的方法吗 def countLetters word letterdict for letter in word letterdict letter
  • 为单独的 g_main_loop 添加回调

    我对如何做有一些误解GMainLoop工作 主要的事情 添加一些回调的 APIg main loop like g timeout add seconds 不要将指针指向要添加该回调的循环 看来您为所有人添加了回调g main loop实例
  • 我如何处理承诺的错误?

    作为节点程序员 我习惯使用 nodebacks 来处理代码中的错误 myFn param function err data if err error handling logic else business logic 编写该函数时 我可
  • 如何在 Windows 8 上的 Web 视图中捕获导航事件?

    我的应用程序中有一个 Webview 我想拦截任何点击并在 IE 中打开链接 而不是在应用程序的 Webview 内 我只能看到 NavigationFailed 和 LoadingComplete 事件 没有任何关于我可以拦截的 即将导航
  • 如何防止在打开特定链接时从 Ubuntu chrome 弹出 xdg-open 对话框?

    我正在尝试使用桌面网络 Whatsapp chrome ubuntu 加入 Whatsapp 群组 当我单击 加入组 时 它会显示下面的对话 我想从 chrome 中永远删除此对话 在关闭 xdg open 对话框后 我可以通过再次单击加入
  • 验证关联对象的最大数量

    我有一个帐户模型和一个用户模型 class Account lt ActiveRecord Base has many users end class User lt ActiveRecord Base belongs to account
  • 如何解决 RTCIceServer.url 已弃用!使用网址代替?

    我用socket io安装了node js 想要在服务器节点 server js 上测试这段代码 var static require node static var http require http Create a node stat
  • echo $PATH 与 .bash_profile 不匹配

    我正在尝试在 Mountain Lion 上安装自制程序 以便可以安装 Ruby 1 9 3 经过多年只使用 PHP 编程后 我终于开始转向 Rails Git 等 无论如何 我使用的是别人给我的笔记本电脑 因此 我的登录账号不是原来的账号
  • 复制 Ruby 字符串数组

    arr red green yellow arr2 arr clone arr2 0 replace blue puts arr inspect puts arr2 inspect 产生 blue green yellow blue gre
  • 如何从 Tensorflow 中预取的数据集中提取类以获得混淆矩阵

    我试图使用以下代码为图像分类器绘制混淆矩阵 但收到错误消息 PrefetchDataset 对象没有属性 classes Y pred model predict validation dataset y pred np argmax Y
  • Eclipse Juno 中没有“运行”菜单或工具栏按钮

    我正在尝试遵循 Android 开发教程 此页面 http developer android com training basics firstapp running app html 我被卡住了 我无法运行该应用程序 说明显示 打开项目
  • 如何使用 PyCrypto 添加/更改 RSA 私钥的密码

    也许有人能帮助我 我正在使用 PyCrypto 生成一对 RSA 密钥 公钥和 私钥 我尝试添加 更改私钥密码 但我不知道如何操作 做吧 这是我的一段代码 encoding utf 8 from Crypto PublicKey impor
  • Android Listview 每行有不同的布局?

    我想创建列表视图 其中我希望所有不同的行都有不同的布局 那么如何创建自定义适配器来为不同的行设置不同的布局 任何帮助将不胜感激 先感谢您 你需要延长你的Adapter 并覆盖其getView method Override public V
  • 如何在shell脚本中查找Mongodb是否以auth模式运行?

    我正在运行一个 mongodb 实例 它在我的服务器计算机上运行身份验证模式 目前我正在使用 shell scipt 来获取 mongodb 实例是否正在运行 如何检查 mongodb 是否在身份验证模式或非身份验证模式下运行 如果您只是想
  • 批处理文件:从目录读取文件名并存储在数组中

    我正在创建一个批处理文件 在其中需要列出指定文件夹的所有文本文件名 然后从数组中存储和检索相同的文本文件名 可以在批处理文件中吗 我当前列出测试文件的代码如下 dir txt b 任何帮助深表感谢 模拟阵列 字符串是批处理文件中唯一的变量类
  • paypal 沙箱无法处理请求

    我一直在工作和测试贝宝使用的沙箱系统 这很令人困惑 我创建了一些测试帐户 目前我已经从我的网站创建了一个表单 立即购买 按钮 它按其应有的方式工作
  • Celery:启动时启动任务

    我有一个任务需要在 Celery 启动时启动 接下来 该任务将通过回调 eta 每 5 分钟运行一次 我找到了一些关于它的线程 但似乎没有任何内容可以在 Celery 3 上工作 感谢您的帮助 阿诺 Celery 的 IRC 频道上的某人通
  • Javascript 与 jQuery:单击和双击同一元素,不同的效果,一个禁用另一个

    我有一个有趣的情况 我有一个表行 当前 当我单击 展开 按钮时 它显示它的隐藏对应项 包含展开按钮的原始 未隐藏 行在某个单元格中也有一些内容 单击该单元格后 这些内容将变为可编辑 我想摆脱扩展按钮 并通过双击行本身的任意位置来扩展行 包括
  • 为什么Oracle使用DBMS_STATS.GATHER_TABLE_STATS? [关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我找到了解释 Oracle 使用这些进行性能调整等的文档 但不太明白它实际上是做什么的
  • C# 与 VB.Net 中的命名空间引用

    在 VB Net 中 您可以执行类似以下操作而不会出现任何问题 只需忽略这是一个非常无用的类这一事实 Imports System Public Class Class1 Public Shared Function ArrayToList