почему это свойство должно быть публичным, если оно является элементом отображения - PullRequest
0 голосов
/ 20 декабря 2011

У меня есть класс со свойствами объекта, помеченными как «внутренние». Нет проблем с доступностью, и все участники проекта могут получить к ним доступ. Но если я установил какое-либо из этих свойств в DisplayMember любого компонента графического интерфейса, то оно должно быть помечено как «общедоступное» для правильной работы. Иначе, скажем, список, отображает объект ToString () в качестве элементов. Почему это так?

Ответы [ 2 ]

3 голосов
/ 20 декабря 2011

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

0 голосов
/ 23 мая 2015

Внутреннее ключевое слово работает так: Основная цель внутреннего ключевого слова - предоставить каждому классу в вашей текущей сборке доступ к нему. Например, если у вас есть файл .dll и вы пометили некоторые из его классов как внутренние, только классы в этом .dll могут получить к нему доступ, и никакая другая внешняя сборка или внешняя программа не могут получить к нему доступ. Если вы используете GUI вне сборки, то вы только что нарушили то, для чего используется internal. Следовательно, вы должны сделать этот объект собственности публичным.

Хотя я не эксперт в c #, потому что я студент, я бы предложил иметь класс «соединителя», который служит соединением с внешними членами, которым требуется доступ к данным, и внутренними классами для установки новых данных. .

...