Этот мой текущий метод, но время от времени мне приходится иметь дело с этой проблемой, и я хочу знать, есть ли более элегантный способ.Передайте аргумент nullable методу
У меня: long? LoadEntityId
раздел. У меня есть метод, где я использую это в качестве аргумента:
private bool IsUsedInProduction(long? loadEntityId)
Проблема заключается в том, что, когда LoadEntityId
фактически нулевой я Nullable object must have a value.
Что мне теперь делать это:
if ((byte)cboStatus.SelectedValue == 10
&& LoadEntityId.HasValue
&& IsUsedInProduction(LoadEntityId.Value))
Но Я думаю, что должен быть лучший способ справиться с этой проблемой.
PS
Кажется, я не был достаточно ясно, в своем объяснении, так что проблема заключается в том, что если я:
if ((byte)cboStatus.SelectedValue == 10
&& IsUsedInProduction(LoadEntityId.Value))
(удалить проверку LoadEntityId.HasValue), когда LoadEntityId фактически нулевой я получаю исключение , если я оставлю это, я просто ищу способ сделать мой код без этой проверки.
Что случилось с этим кодом точно? – asawyer
Где именно исключение вызывается об нулевом значении? – thecoop
Почему вы проверяете значение, когда аргумент имеет значение NULL? Не можете ли вы просто использовать 'if ((byte) cboStatus.SelectedValue == 10 && IsUsedInProduction (LoadEntityId))' – Lee