我们有一个自定义数据类型对象“Money”,它用于在我们的应用程序中表示货币值。目前我们正在尝试在网格组件中实现一些自定义格式,但是 System.Convert 引发了异常“InvalidCastException”。
异常中的文本是;
System.InvalidCastException occurred
Message="Invalid cast from 'System.Int32' to 'System.Money'."
Source="mscorlib"
StackTrace: at System.Convert.DefaultToType(IConvertible value, Type targetType, IFormatProvider provider)
InnerException:
请注意,我们的“Money”数据类型确实实现了 IConvertible 以及拥有自己的 TypeConverter。
我们如何克服这个例外?
编辑:此问题与在绑定到我们的自定义数据类型“Money”的列上评估的 DevExpress XtraGrid“格式条件”有关。Money 类型可以毫无问题地绑定到列,它仅在对列评估格式条件时引发 InvalidCastException,即 GridColumnValue > 0