Делитесь константами из модуля с другими проектами

У меня есть проект библиотеки классов VB.NET, имя сборки которого MyCompany.Constants, и он содержит только модуль MyModule.vb:

Public Module Constants

   Public Const Item1 As String = "Foo"
   Public Const Item2 As String = "Foo2"

End Module

Его цель - поделиться им со всеми проектами в других решениях.

Поэтому я добавляю ссылку на него из других проектов, а затем использую приведенное ниже выражение, чтобы начать работать с ним:

Imports MyCompany.Constants

Итак, я могу использовать его, выполнив:

var foo = Constants.Item1

Но выше выражение импорта вызывает ошибку:

пространство имен или тип, указанный в импорте MyCompany.Constants, не содержит публичных членов

Итак, как мне решить эту проблему? Как я могу использовать общедоступные константы, определенные в модуле, в других моих проектах, добавив на них ссылку?

2 ответа

Вместо использования модуля попробуйте использовать класс. Если намерение состоит в том, чтобы быть константами, это должно выглядеть так

Public Class Constants
    Public Shared ReadOnly Item1 As String = "Foo"
    Public Shared ReadOnly Item2 As String = "Foo2"
End Class

Поскольку элементы являются общими, создавать экземпляр класса не требуется.

Попробуй это:

Imports MyCompany

Module Module1

    Sub Main()

        Dim test As String = MyCompany.Constants.Item1

        Console.WriteLine(test)
        Console.ReadKey()

    End Sub

End Module
Другие вопросы по тегам