vb.net - 如何在 VB.net 中为扩展方法创建 DLL?

标签 vb.net dll visual-studio-extensions

女士们,先生们, 我正在尝试创建一个 DLL,我可以在几个不同的项目之间共享,其中包括我为简化代码而编写的各种扩展方法。了解此类 DLL 可以在 C# 和 VB.net 项目之间共享。然而,到目前为止我一直无法创建 DLL,甚至无法包含子项目并以这种方式引用它并能够访问我的扩展。

我能够在对象浏览器中看到引用,但导入语句不会将我的子项目引用作为选项显示出来。 VB.net 不允许我将扩展放在类中,而且我似乎无法在网上找到任何可以解释这一点的线索。提前致谢。

例子...

导入 System.Runtime.CompilerServices
导入 System.Text.RegularExpressions
模块扩展

    
    公共(public)函数 ToEnum(Of T)(ByVal value As String) As T
        尝试
            返回 (CType([Enum].Parse(GetType(T), value.Replace("", ""), True), T))
        Catch ex As 异常
            返回 (CType([Enum].Parse(GetType(T), 0, True), T))
        结束尝试

    结束功能
终端模块

最佳答案

您需要使用 Public 关键字标记您的扩展模块。另外,请确保您的消费项目中的项目属性列出了您的库项目作为引用;仅出现在对象浏览器中并不意味着您已正确设置引用。

关于vb.net - 如何在 VB.net 中为扩展方法创建 DLL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12224934/

相关文章:

vb.net - 无法将pchar从Delphi 2007 DLL转换为Visual Basisc应用程序(发生垃圾)

asp.net - 将参数中的 NULL 传递给存储过程中的 DateTime 字段

javascript - Awesomium 如何单击 div 链接 - .click() 不起作用 (vb.net)

python - 将单个字符/多个字符用户输入从 python 函数传递到 C++ 函数

.net - 如何使用 VB.NET 呈现 HTML 文件?

c++ - 在 DLL 中线程化,其中 DLL 必须在子线程完成之前返回

c# - 第三方组件引用同一程序集的不同版本

visual-studio - 手动安装VS IDE扩展? (GhostDoc 扩展)

visual-studio - 如何在无人参与模式下禁用 Visual Studio 扩展自动更新?

visual-studio - 如何将调试符号包含到 .vsix 包中