Каково назначение ключевых слов ref и out в Vala?

Как и когда следует использовать эти ключевые слова?

У них та же цель, что и в C#?


person Jean Pierre Dudey    schedule 03.07.2015    source источник


Ответы (1)


документация предполагает, что они точно такие же, как в C#:

  • 'out' со стороны вызывающей стороны: вы можете передать неинициализированную переменную в метод, и вы можете ожидать, что она будет инициализирована после возврата метода
  • 'out' со стороны вызываемого: параметр считается неинициализированным, и вы должны его инициализировать
  • 'ref' со стороны вызывающей стороны: переменная, которую вы передаете методу, должна быть инициализирована, и она может быть изменена или нет методом
  • 'ref' со стороны вызываемого объекта: параметр считается инициализированным, и вы можете изменить его или нет.
person Mike Chamberlain    schedule 03.07.2015