これは私の現在の方法ですが、時々この問題に対処する必要があり、よりエレガントな方法があるかどうか知りたいです。
私は :long? LoadEntityId
フィールドを持っています。これを引数として使用するメソッドがあります:
private bool IsUsedInProduction(long? loadEntityId)
問題は、LoadEntityId
実際にnullがいつ取得されるかです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が実際にnullの場合、そのままにしておくと例外が発生します-まあ、このチェックなしでコードを機能させる方法を探すだけです。