«Friend WithEvents» в Visual Basic против «частного» в C # - PullRequest
7 голосов
/ 17 декабря 2009

В проектах Windows Forms, почему дизайнер по умолчанию использует атрибуты Friend WithEvents в VB.NET и private в C #?

Например, в form.designer. файле:

.cs

private Label Label1;

.vb

Friend WithEvents Label1 as Label;

Для WithEvents это более или менее понятно (для использования Handles, по-видимому). Но почему Friend в Visual Basic и private в C #?

Ответы [ 4 ]

10 голосов
/ 17 декабря 2009

Friend используется для совместимости со старым кодом Visual Basic, где обычно используется элемент управления вне формы, в которой он содержится.
В C # нет такой необходимости.

private - лучшее решение для нового кода.

4 голосов
/ 17 декабря 2009

Как правило, VB.NET склоняется к тому, чтобы подвергать слишком много (конфиденциальность, в основном, отказывается), в то время как C # - обратное, конфиденциальность, как правило, отказывается. Как уже упоминали другие, причина, вероятно, связана с наследием VB.NET и «дружелюбием» разоблачения всего; это облегчает начало работы, но также приводит к плохому дизайну и дополнительным усилиям для обеспечения слабой связи.

2 голосов
/ 17 декабря 2009

Я думаю, что это поможет в переходе с более ранних версий VB, так как код в формах, как правило, чаще модифицируется извне. Друг также по умолчанию.

Приватный лучше с точки зрения разработки кода и используется в C #, так как я не думаю, что подобной исторической практики кодирования нет!

0 голосов
/ 17 декабря 2009

Возможно, Visual Basic пытается быть более дружественным к новым программистам и позволяет им видеть все элементы управления Friend в форме из любой точки их проекта?

Друг внутренний, единственное, о чем я могу думать, и я не уверен, почему значения по умолчанию будут отличаться, кроме как помогать новым программистам ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...