Новое в nUnit, получение ошибки... "не доступно в этом контексте, потому что это" Public ""
Я написал следующий код как мой первый тест в nUnit.
Public Class Tests
<TestFixture()>
Private Class TranslationTest
<Test()>
Private Sub LanguageTest()
Dim stringToTest As String = "Tower Count"
strLanguageText(stringToTest, LanguageIDs.English, 0)
Assert.Equals("Tower Count")
End Sub
End Class
End Class
Intellisense говорит, что и метод strLanguageText, и перечисление LanguageIDs.Enlish "не доступны в этом контексте, потому что это" Public "". Я могу понять, что что-то недоступно, потому что его модификатор - Private, но почему наличие модификатора Public препятствует тому, чтобы оно было доступно тесту?
1 ответ
Несмотря на то, что ошибка показала "Public", когда я посмотрел на тестируемый метод, его модификатор был Friend. Когда я назначил свой тест тому же пространству имен, что и тестируемые методы, он работал.
Обновление. Согласно справочному документу O'Reilly C# & VB.NET "У внешних классов на уровне IL есть только две возможные области: частная или открытая".
Мое удивительное предположение состоит в том, что именно поэтому ошибка была объявлена как "Публичная".