我正在尝试实现一个IValueConverter
可以为空的类型,例如 int?枚举?等等,并返回一个布尔值(如果它有一个值,则为 true,否则为 false)。我事先不知道可为空的类型。
装箱value
的(类型object
)没有 a.HasValue
并且我不确定一个简单(value == null)
不会反映传递对象的空性,或者是否有任何东西传递给该方法。此外,不可能转换value
为 aNullable
并且 tehre 似乎不是INullable
我可以使用的接口。
基本上,我是否需要强制转换才能确定装箱对象的空值?
这是我所拥有的...
public class NullableHasValueToBool : System.Windows.Data.IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo cultureInfo)
{
// Unsure if this is really the nullness of the passed object
return (value != null);
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo cultureInfo)
{
throw new NotImplementedException();
}
}