vb.net - 强制模块 namespace 限定

标签 vb.net module namespaces

VB.net 允许您跳过使用模块名称的函数调用的限定:

Public Module EvalDataFetcher

    Public Function JoinStr(ByVal values As IEnumerable(Of String)) As String
        ' body
    End Function

End Module

然后执行:

Dim foo As String = JoinStr(myBars)

如何强制用户使用完全限定的表单?即力:

Dim foo As String = EvalDataFetcher.JoinStr(myBars)

最佳答案

如果有办法强制您指定模块名称,我不确定它会是什么。但是,您可以这样做的方法是使其成为具有共享成员的类而不是模块。例如:

Public Class EvalDataFetcher
    Public Shared Function JoinStr(ByVal values As IEnumerable(Of String)) As String
        ' body
    End Function
End Module

现在,当您调用 JoinStr 方法时,您将被迫指定类名:

Dim foo1 As String = JoinStr(myBars)  ' Won't compile
Dim foo2 As String = EvalDataFetcher.JoinStr(myBars)  ' Works

关于vb.net - 强制模块 namespace 限定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14839467/

相关文章:

python - Python 中的 IRC 客户端;不是 IRC 机器人

python - 模块与包?

javascript - 我可以在 'window' 以外的上下文中加载 javascript 文件吗?

c++ - 防止创建成员函数都是静态的类

SoapHeader 子节点中的 PHP 命名空间

vb.net - 如何使用 VB.NET 将 XLS 中的单个工作表转换为 PDF

javascript - 如何将通过 Javascript 添加的表行发布到 ASP.NET 中的服务器?

vb.net - 从 XSD 创建 dataset.designer.vb

MySql 返回的是列名,而不是值

Python:喜欢几个小模块还是一个大模块?