.net TypeConverters和域用法

时间:2011-07-17 22:59:02

标签: c# domain-driven-design

一般来说,有没有理由不将TypeConverter用于涉及与UI无关的自定义类型的转换杂项?

我在考虑比隐含更复杂的案件。明确的转换。

设计指南的任何链接&这样做的样本?

干杯,
Berryl

更新

以下是转换的动机,即Party-PartyRelationship模式,其中Party可以拥有一个或多个PartyNames。当Party是Person时,One required名称是PersonName。

PersonName具有与PartyName不同的属性,并且是ValueObject。它用于ui /格式化类型任务,而PartyName是一个实体,并且持久保存到数据库。

因此需要进行转换: - 从DB加载以进行演示:(PartyName - > PersonName) - 向DB添加新联系人:(PersonName - > PartyName)

enter image description here

1 个答案:

答案 0 :(得分:1)

这是一个good link,解释了TypeConverter与实施IConvertible之间的区别。但是,基本上,TypeConverter是为设计时进行类型转换而构建的,并且最有用。例如,XAML将类型转换为XML并返回。

IConvertible通常更灵活,更快(不使用反射),并且比TypeConverter更容易实现。除非你需要TypeConverter给你的额外功能(比如标准值列表),否则我建议你使用接口选项并使用Convert静态方法。