两个函数应该实现,我想知道我需要什么类型的验证就投入做,以及如何管理错误。

Public Function Convert(ByVal value As Object, ByVal targetType As System.Type, ByVal parameter As Object, ByVal culture As System.Globalization.CultureInfo) As Object Implements System.Windows.Data.IValueConverter.Convert

End Function

Public Function ConvertBack(ByVal value As Object, ByVal targetType As System.Type, ByVal parameter As Object, ByVal culture As System.Globalization.CultureInfo) As Object Implements System.Windows.Data.IValueConverter.ConvertBack

End Function

我需要检查,如果并类型的参数是我所期待的。

的类型

在情况下,他们都没有,我应该返回什么,赶上了错误的行为,在另一个地方?或者我应该在这里抛出一个异常或断言?

是否有任何的最佳或建议的做法,在这里申请?

有帮助吗?

解决方案

我个人检查的类型和值,然后将其转换。如果由于某种原因,不能转换的话,我只是简单地返回value未转换。我不抛出任何异常或做任何记录 - 大部分是容易的时候,看到如果转换失败,因为你没有看到在UI预期的项目。登录在转炉错误可能是相当昂贵的,因此,为什么我避免它。

在数据绑定(通常)失败默默(我曾与一个转换器结合摔了大巨大的配合,一旦在Silverlight),您可以检查输出窗口的任何错误,这是很简单的重击条件断点如果必要的转换器来调试的任何问题。

其他提示

我只是想知道为什么你需要赶在转换器的异常?你有一个例子?

在我看来,应该没有必要为此,并且用类似可空类型,这些都应该在正确的转换器来处理,因为一切应该转换器调用之前进行处理。 即如果用户输入一个字符串转换为数字领域,这应该通过验证,而不是转换器被抓。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top