Делитесь константами из модуля с другими проектами
У меня есть проект библиотеки классов 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