我有一个非常简单的场景,我只想扩展System.ComponentModel.BooleanConverter
的功能,以便允许多个选项,而不仅仅是true
和false
。实现自定义TypeConverter
因此,例如像yes
,1
,on
等值与true
相同。
我试图重写GetStandardValues()
方法做一个简单的测试,我的假设是,如果我回到我的所有特定值的集合,为IsValid(string)
调用应该返回true
如果我通过我的定义值之一,但这样做似乎并非如此。我是否必须执行/覆盖一大堆废话才能做到这一点?
我想知道它是否值得,因为我真正需要的是IsValid()
功能。或者,首先比使用TypeDescriptors
更好?
感谢您的答复尼古拉。经过一些测试后,我发现这不是解决我的问题的好方法。使用IsValid来测试字符串值,这不是我的好设计决定。幕后发生的事情是,如果.NET检查失败,则.NET会抛出System.FormatException,因此在使用这种检查时会带来很多额外的堆栈开销。 – snappymcsnap 2013-03-05 13:55:19