当我尝试将一个对象转换为bool时,我有一个奇怪的错误信息,这里是我的代码:
public partial class ModifierAuteur : DevExpress.XtraEditors.XtraForm { public ModifierAuteur(object getKeyDecesCheckBox) { decesCheckBox.Checked = getKeyDecesCheckBox == null ? null : (bool)getKeyDecesCheckBox; } }
这是错误信息:
Type of conditional expression cannot be determined because there is
no implicit conversion between<null>
andbool
解决方法
假设赋值是可能的,你需要转换为一个可空的bool,像这样:
decesCheckBox.Checked = getKeyDecesCheckBox == null ? null : (bool?)((bool)getKeyDecesCheckBox);
内部转换为bool取消收件箱的值,外部转换为bool?使其与条件表达式的null兼容.
如果赋值的左侧不允许空值,则需要决定在getKeyDecesCheckBox为空时设置的值.通常这是假的:
decesCheckBox.Checked = getKeyDecesCheckBox == null ? false : (bool)getKeyDecesCheckBox;