Уровни доступа VB.Net

В настоящее время я работаю над проектом VB.Net и столкнулся с тем, что немного озадачило меня. Таким образом, у меня по существу есть следующая структура кода:

Public Class MainClass

    Private Class HiddenClass
    End Class

    Private Class ChildA
        Inherits From HiddenClass
    End Class

    Private Class ChildB
        Inherits From HiddenClass
    End Class

End Class

Public Class BuildingBlock

    Protected lbl As Label
    Protected btn As Button
    Protected main As New MainClass()

End Class

Теперь я получаю сообщение об ошибке при настройке main как Protected, В частности, ошибка, которую я получаю:

'main' cannot expose type 'MainClass' outside the project through class 'BuildingBlock'

Теперь я погуглил ошибку и нашел решение:

Измените уровень доступа к переменной, параметру процедуры или возврату функции, чтобы он был как минимум таким же ограничительным, как уровень доступа для его типа данных.

Итак, я изменил его на Publicи все было отлично. Но чтобы проверить, я изменил доступ к Private, Friend, а также Protected Friend, Protected Friend все еще была ошибка, как я ожидал, но оба Private а также Friend нет, хотя они имеют разные уровни доступа, чем у типа данных.

Поэтому мне интересно, почему я получил бы эту ошибку только для перечисления этого объекта как Protectedи не на любом другом уровне доступа.

0 ответов

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