C # - Соглашения об именах для внутренних членов

Каковы соглашения об именах для internal членов в C #?

Например, модификатор доступа по умолчанию для элементов управления WPF является внутренним - как мне их назвать?


person Peter Sivák    schedule 12.06.2013    source источник


Ответы (3)


Все непубличные участники должны быть lowerCamelCase.

person SLaks    schedule 12.06.2013
comment
Разве вы не имеете в виду все "частные", @SLaks? 'internal' не является публичным, но не частным, и обычно используется PascalCase. - person Paulo Morgado; 14.06.2013
comment
@PauloMorgado: Я так не думаю, хотя и не уверен. - person SLaks; 14.06.2013

вы обычно не называете элементы управления WPF. Если вы не собираетесь использовать на них такие вещи, как МАУ.

При этом ознакомьтесь с официальными соглашениями об именах C #

Изменить: даже если вы планируете использовать UIA в своем приложении, вам следует избегать элементов управления именами, если в этом нет необходимости. Это поощряет передовые методы (MVVM, разделение пользовательского интерфейса и логики) и не позволяет ленивым / неопытным разработчикам прибегать к методам разработки кода, подобного winforms.

UIA может также полагаться на такие свойства, как AutomationProperties.AutomationId, что полностью устраняет необходимость давать имя элементам управления WPF, если, конечно, вы не будете использовать их в качестве целей раскадровки или вам не понадобится какая-то ElementName привязка.

person Federico Berasategui    schedule 12.06.2013
comment
Что такое МАУ? Я погуглил, что это означает автоматизацию пользовательского интерфейса, но я слышал об этом впервые. - person Peter Sivák; 13.06.2013
comment
Я называю элемент управления WPF, когда хочу что-то сделать с ним программно во время выполнения - например, отключить некоторые элементы управления, когда что-то происходит, или добавить текст в TextBox и т. Д. Плохо ли это делать? - person Peter Sivák; 13.06.2013
comment
@ PeterSivák Да, это плохо. если вам нужно программно отключить элемент управления, вы привязываете его свойство IsEnabled к некоторому свойству bool в ViewModel и управляете им. - person Federico Berasategui; 13.06.2013
comment
Я прочитал Общие соглашения об именах, которые вы мне рассказали, но было упомянуто ничего о internal членах :). Кстати, а почему есть возможность назвать WPF control, когда это плохо? - person Peter Sivák; 13.06.2013
comment
@ PeterSivák, как советует @SLaks, вы должны использовать lowerCamelCase. Тем не менее, я настаиваю на том, чтобы вы не называли элементы управления WPF. - person Federico Berasategui; 13.06.2013
comment
@ PeterSivák Также есть возможность использовать goto в C #. Также есть возможность не создавать никаких классов и манипулировать всеми вашими данными как Dictionary<string,string> внутри приложения. Тот факт, что что-то возможно, не означает, что это хорошо. Манипулирование элементами пользовательского интерфейса в процедурном коде не требуется и не желательно в WPF. Прочтите о MVVM. - person Federico Berasategui; 13.06.2013
comment
Чтобы уточнить, вы можете установить имя автоматизации пользовательского интерфейса, не задавая имя WPF. Вы можете установить первое с помощью присоединенного свойства AutomationProperties.Name, а второе - с помощью свойства зависимостей FrameworkElement.Name. Для некоторых элементов управления в качестве имени UIA по умолчанию используется FrameworkElement.Name, если он указан. - person Mike Zboray; 13.06.2013

Иногда непубличные члены могут быть _lowerCamelCase.

Вот ссылка Соглашение об именах - подчеркивание в переменных C ++ и C #

person Vadim    schedule 07.11.2014