Функция, возвращающая другой тип данных - PullRequest
2 голосов
/ 15 февраля 2011

Я только что натолкнулся на следующий фрагмент:

Public Function Checked() As Boolean
      Return applyChange 'This is a string!
End Function

Что здесь происходит?Как функция с типом возврата Boolean может на самом деле вернуть string?Я предполагаю, что здесь происходит неявное преобразование, которого я бы предпочел не иметь.Мне не хватает опции компиляции?

Это .NET 1.0.

1 Ответ

5 голосов
/ 15 февраля 2011

Вам не хватает опции компиляции Option Strict. Вы найдете ее в окне «Свойства» вашего проекта на вкладке «Компиляция». При его включении вы получите следующую ошибку:

Option Strict On disallows implicit conversions from 'String' to 'Boolean'.


И я предлагаю немедленно включить эту опцию и исправить все возникающие ошибки компиляции. Преобразование из String в Boolean является рискованным предложением. В случае, если applyChange фактически установлено в строку типа «Hello» (вместо «True» или «False»), вы получите следующее run-time error:

Недопустимое преобразование из строки «Hello» в тип «Boolean».

...