public static char UnboxChar(object value) { if (value is char) return (char)value; if (value is IConvertible) return CheckNumericPromotion(value).ToChar(null); return (char)value; }