【发布时间】:2015-02-04 01:48:24
【问题描述】:
我已经阅读了here 如何实现类型转换,并且我知道如何实现ToType 和FromType 方法。我需要知道为什么许多开发人员在可以轻松构建指定转换的情况下选择构建FromType 和ToType 方法?
是否有性能优势,或者仅仅是开发人员为了可读性/理解而选择的东西?
我有一个案例,其中 ViewModel 和 Model 非常相关,但我必须从一个转换到另一个。当我查看很多库时,很明显人们不会强制转换或编写转换方法,而是使用静态 From 和 To 方法,例如在 solazrizr 中。我只是分裂,不知道我是否可以写ViewModel vm = new Model();(隐式转换)、ViewModel vm = (ViewModel)(new Model());(显式转换)或ViewMode vm = ViewModel.FromModel(new Model());(静态从到方法)。
为什么首选 From/To 方法有什么具体原因吗?
【问题讨论】:
-
ViewModel.FromModel听起来像是工厂方法,而不是转换。 -
你有没有试过在比较大的项目中寻找隐式转换的代码?使用“ToType”这很简单,因为它就在您的面前 - 您知道它的使用位置,您可以轻松地“找到所有参考”并喜欢...通过查看可能的代码来尝试相同的操作有隐式转换...
-
@PrestonGuillot 很抱歉我不熟悉命名约定,我是个小孩
标签: c# mvvm casting type-conversion static-methods