public static SByte UnboxSByte(object value) { if (value is SByte) return (SByte)value; if (value is IConvertible) return CheckNumericPromotion(value).ToSByte(null); return (SByte)value; }