В проектах Windows Forms, почему делает разработчика значением по умолчанию, используют Friend WithEvents
атрибуты в VB.NET и private
в C#?
Например, в a form.designer.
файл:
.cs
private Label Label1;
.vb
Friend WithEvents Label1 as Label;
Для WithEvents
, это более или менее ясно (для использования Handles
, по-видимому). Но почему Друг в Visual Basic и частный в C#?
Friend
используется для совместимости со старым кодом Visual Basic, где обычно элемент управления использовался вне формы, которая его содержала.
В C # такой необходимости нет.
private
- лучшее решение для нового кода.
Возможно, Visual Basic пытается быть более дружелюбным к новым программистам и позволяет им видеть все элементы управления Friend в форме из любой точки своего проекта?
Friend является внутренним, единственное, что я можно придумать, и я не уверен, почему значения по умолчанию будут другими, кроме как для помощи новым программистам ...
Я думаю, это поможет с переходом с более ранних версий VB, поскольку код в формах чаще всего изменялся извне. Друг тоже по умолчанию.
Private лучше с точки зрения дизайна кода и используется в C #, поскольку, я полагаю, не существует аналогичной исторической практики кодирования!
Обычно VB.NET склоняется к слишком большому разглашению (конфиденциальность - это в основном согласие), тогда как C # - обратное, конфиденциальность обычно - отказ. Как отмечали другие, причина, вероятно, связана с наследием VB.NET и «дружелюбием» раскрытия всего; это облегчает начало работы, но также приводит к плохой конструкции и дополнительным усилиям для обеспечения слабого сцепления.