public static Boolean UnboxBoolean(object value) { if (value is Boolean) return (Boolean)value; if (value is IConvertible) return CheckNumericPromotion(value).ToBoolean(null); return (Boolean) value; }