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

Chr*_*ond 3 vb.net dll visual-studio-extensions

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

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

例...

Imports System.Runtime.CompilerServices
Imports System.Text.RegularExpressions
Module Extensions

    <System.Runtime.CompilerServices.Extension()>
    Public Function ToEnum(Of T)(ByVal value As String) As T
        Try
            Return (CType([Enum].Parse(GetType(T), value.Replace(" ", ""), True), T))
        Catch ex As Exception
            Return (CType([Enum].Parse(GetType(T), 0, True), T))
        End Try

    End Function
End Module
Run Code Online (Sandbox Code Playgroud)

Imports System.Runtime.CompilerServices
Imports System.Text.RegularExpressions
Module Extensions

    <System.Runtime.CompilerServices.Extension()>
    Public Function ToEnum(Of T)(ByVal value As String) As T
        Try
            Return (CType([Enum].Parse(GetType(T), value.Replace(" ", ""), True), T))
        Catch ex As Exception
            Return (CType([Enum].Parse(GetType(T), 0, True), T))
        End Try

    End Function
End Module
Run Code Online (Sandbox Code Playgroud)

Jas*_*ski 6

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