Использование ByVal в методах vb.net, что является обычной практикой? - PullRequest
4 голосов
/ 09 сентября 2011

В vb.net методы имеют свои параметры по умолчанию, используя ByVal. Лучше делать это явным образом?

Например:

С ByVal:

Private Sub MySub(ByVal Q As String)
{
   ' ...
}
End Sub

Без ByVal:

Private Sub MySub(Q As String)
{
   ' ...
}
End Sub

Ответы [ 3 ]

5 голосов
/ 09 сентября 2011

Согласно Microsoft :

Рекомендуется включать ключевое слово ByVal или ByRef в каждый объявленный параметр.

Иесли вы используете Visual Studio, по умолчанию вставляется ByVal, если вы не указали это явно.

2 голосов
/ 16 сентября 2013

Начиная с VS 2010 SP1, ByVal равно больше не вставляется автоматически в среде IDE.

Лично я считаю, что лучше не вводить ByVal вручную, потому что:

  1. в любом случае это механизм передачи по умолчанию , если явно не указаны ни ByVal, ни ByRef.
  2. пропуск ByVal в сигнатуре метода делает ByRef особенным.
  3. это добавляет «шум» к коду. VB.Net уже очень многословен, нет необходимости загромождать код ненужными ByVal с.
0 голосов
/ 09 сентября 2011

Обычная практика заключается в том, что аргументы метода могут быть указаны в ByValue или ByReference. В VB.NET тип аргумента по умолчанию - ByVal. Во многих языках программирования аргументы метода по умолчанию by-value. Если аргумент не квалифицирован как ByVal или ByRef, тогда тип аргумента будет ByVal.

...