Как заменить значения типов ничем? - PullRequest
1 голос
/ 21 октября 2011

Я пишу приложение vb.net, которое вызывает метод веб-сервиса. Рассматриваемый метод веб-сервиса принимает около 20 параметров, таких как (строка x, строка y, строка z .... целое число a, целое число b, целое число c).

Возможно, что одно из целых чисел (a b или c) преднамеренно не установлено в значение. Однако, поскольку Integer является типом значения ( спасибо, переполнение стека ), я не могу установить для него значение Nothing, поэтому я по умолчанию устанавливаю значение -1, когда пользователь не выбрал конкретное значение для этих целых чисел. Тем не менее, метод webservice хочет, чтобы я передал ему значение Null / Nothing, когда пользователь не инициализировал эти целые числа (не 0 или -1, он хочет Nothing / Null).

Как мне дать веб-сервису то, что он хочет, за исключением нескольких условных выражений, с немного отличающимися вызовами веб-сервиса (например, если целое число a = -1, тогда вызовите веб-сервис с (x, y, z, Nothing, b, c) и т. Д. ...)

1 Ответ

5 голосов
/ 21 октября 2011

Вы можете использовать Nullable(Of T) для переноса типов значений, чтобы вы могли использовать Nothing с ними.

Так что для целых чисел:

Dim nullInt As Nullable(Of Integer)
nullInt = 10
nullInt = Nothing

НайдитеСеть для "nullable types vb.net" - есть много статей, которые объясняют их.

...