作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我看来,与 TypeConverter 相比,实现隐式运算符非常容易,因此我假设它们不等效,因为框架中普遍存在 TypeConverters(请参阅扩展 FrameworkElement 的任何内容)。
但为什么?创建 string->object 和 object->string 隐式运算符并利用序列化中的运算符(XML 和 XAML)不是更容易吗?
是雅格尼吗?单一责任?因为您不能在接口(interface)中指定运算符重载?
最佳答案
类型转换器比看起来要复杂得多。类型转换器可以访问有关转换上下文的一系列元数据 - 例如,所涉及的属性和对象。这用于为每个场景提供自定义选项(想想:链接的下拉菜单,即国家/县/城市/等)。您还可以基于每个属性指定类型转换器,我在很多地方使用它来提供对各种字符串属性的不同处理。运算符(operator)会一视同仁地对待所有字符串。
隐式运算符只知道正在转换的值,但具有更大的编译时支持。
或者另一种方式:TypeConverter
是具有框架支持的框架功能;
运算符(主要)是具有语言支持的语言功能
要添加更多 - 类型转换器(尽管名称)不只是转换:
PropertyGrid
上扩展属性)PropertyGrid
上的下拉选项)PropertyGrid
的地方。 , 虽然;-p
关于.net - 隐式运算符和 TypeConverters 是否等效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/379343/
我是一名优秀的程序员,十分优秀!