Właśnie zainstalowałem pakiet serwisowy Visual Studio 2010 (proponowany w witrynie Windows Update) i widzę nową funkcję w "intellisense", co oznacza, że gdy piszę w VB.NET Function
lub Sub
, nie jest ona automatycznie uzupełniana przez parametry z ByRef
lub ByVal
...Dlaczego nie trzeba już oznaczać ByVal/ByRef?
1) Czy mimo to mogę skonfigurować tę opcję z powrotem do tego, jak było wcześniej?
2) Jeśli nie podam ByX
, która z nich jest używana domyślnie? (Wydaje się, że jest to zawsze ByRef
)
Domyślną wartością jest 'ByVal', ale należy zrozumieć, co [przechodzącej przez wartość i przez odniesienie] (http://msdn.microsoft.com/en-us/library/ddck1z30.aspx) w rzeczywistości oznacza. –
Prawie zawsze chcesz przekazać 'ByVal', a to w rzeczywistości jest domyślne. Nie ma powodu, aby kod był zagracony z 'ByVal' w każdym miejscu; to tylko "hałas". Wyraźnie określ tylko 'ByRef', kiedy absolutnie musisz mieć semantykę typu" przekaż jako odniesienie ". –