Я столкнулся с проблемой, которая бросает вызов моему пониманию модификаторов доступа в VB.Net.У меня есть класс, объявленный Другом.Если я объявлю его свойства Public, приложение работает.Если я объявляю их Friend, приложение завершается ошибкой.
До этого я полагал, что в классе, объявленном Friend, не будет иметь никакого функционального значения, объявил ли я членов Public или Friend.Я думал, что объявления доступа к классам применяют свои ограничения ко всем вложенным объектам, поэтому вложенные свойства, объявленные как Public, эффективно ограничиваются, как если бы они были объявлены Friend.Очевидно, я был неправ.Может кто-нибудь объяснить, как на самом деле работают модификаторы доступа, или указать мне соответствующую документацию?
Вот более подробное описание ситуации: у меня есть класс Friend с именем StripTask со свойствами StripDate, HistorianDate и TaskText.У меня есть коллекция StripTasks (называемая _StripTasks), которая используется в качестве источника данных для Syncfusion GridDataBoundGrid.Как работает привязка, мне нужно передать имя свойства StripTask каждому из столбцов сетки, чтобы каждый столбец знал, какие данные отображать.В конечном итоге это выглядит примерно так: _DataBoundGrid.GridBoundColumns (1) .MappingName = "StripDate".Когда сопоставленные свойства объявлены как Public, это работает.Когда сопоставленные свойства объявляются Friend, сетка заполняется правильным количеством строк, но каждая ячейка пуста.
В качестве дополнительного вопроса, стоит ли избегать таких вещей, как этаМетод привязки Syncfusion, который требует, чтобы я передавал имена свойств в виде строк?Такое ощущение, что я приглашаю неприятности.