Теоретический вопрос по DataGridView, DataGridViewRow

Рейтинг: 0Ответов: 1Опубликовано: 06.11.2014

Вопрос по классам winForms C#.

У класса DataGridViewRow есть свойство только для чтения DataGridView, у него есть только геттер (поле только для чтения).

//создаем объект DataGridViewRow
DataGridViewRow currentRow = new DataGridViewRow();
// смотрим здесь у currentRow.DataGridView равно null
dataGridSettings.Rows.Add(currentRow);
// смотрим здесь у currentRow.DataGridView равно dataGridSettings

Вопрос: откуда currentRow взял dataGridSettings, если поле DataGridView у него закрытое для записи? Разве может быть поле доступно из одного класса или недоступно из другого? Или, допустим, у него есть скрытый сеттер, но почему опять же этот сеттер виден в другом классе, а в клиентском не виден?

Я хочу написать свой DataGridView, и эта механика в прототипе мне неясна.

Ответы

▲ 2Принят

Есть, например, модификатор internal, который позволяет "видеть" свойства и методы в одной сборке (библиотеке).