Функция возвращает Byref - PullRequest
1 голос
/ 18 января 2012

Может ли функция вернуть значение byref вместо значения по умолчанию? То есть, позвольте мне напрямую редактировать полученную переменную, а не просто дать мне копию этой переменной.

Прямо сейчас я пытаюсь написать функцию, которая будет возвращать, основываясь на том, что пользователь выбрал в выпадающем списке, конкретный параметр (например, My.Settings.somethingHere). Затем я хочу иметь возможность редактировать настройки напрямую, просто вызвав функцию. Это вообще возможно?

private function myFunction() as byte
  select case comboBox1.text
     case "a"
       return my.settings.a
     case "b"
       return my.settings.b
  end select
end function

private sub something()
  myFunction() -= 1
end sub

1 Ответ

1 голос
/ 18 января 2012

Функция не может вернуть ссылку на байт, вместо этого вы можете создать свойство (Writable) для присвоения значения.

 Public WriteOnly Property Change As SByte
        Set(value As SByte)
            Select Case comboBox1.text
                Case "a"
                    My.Settings.a = value
                Case "b"
                    My.Settings.b = value
            End Select
        End Set
 End Property

и присвоить значение свойству Change,

private sub something()
  Change -= 1
end sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...