一般来说,有没有理由不将TypeConverter用于涉及与UI无关的自定义类型的转换杂项?
我在考虑比隐含更复杂的案件。明确的转换。
设计指南的任何链接&这样做的样本?
干杯,
Berryl
以下是转换的动机,即Party-PartyRelationship模式,其中Party可以拥有一个或多个PartyNames。当Party是Person时,One required名称是PersonName。
PersonName具有与PartyName不同的属性,并且是ValueObject。它用于ui /格式化类型任务,而PartyName是一个实体,并且持久保存到数据库。
因此需要进行转换: - 从DB加载以进行演示:(PartyName - > PersonName) - 向DB添加新联系人:(PersonName - > PartyName)
答案 0 :(得分:1)
这是一个good link,解释了TypeConverter
与实施IConvertible
之间的区别。但是,基本上,TypeConverter
是为设计时进行类型转换而构建的,并且最有用。例如,XAML将类型转换为XML并返回。
IConvertible
通常更灵活,更快(不使用反射),并且比TypeConverter
更容易实现。除非你需要TypeConverter
给你的额外功能(比如标准值列表),否则我建议你使用接口选项并使用Convert
静态方法。