我喜欢C#的一个原因是你可以为你的类定义隐式转换器.例如,我创建了一个VectorGeometryBuilder类,其中包含MoveForwardByX,TurnByYdegrees,LinetoPoint等方法.然后,它定义了对Geometry类的隐式转换.这允许我使用我漂亮的构建器来创建我的几何体,然后将整个kit-n-caboodle传递给任何期望几何体的函数,即使VectorGeometryBuilder本身不是Geometry的子类.相反,它将Geometry对象公开为属性,隐式转换器会抓取并返回该属性.
我想知道的是Swift是否有类似的东西.
考虑这个构成的场景……
class FauxInt { init(_ initialValue:Int) { value = initialValue } var value:Int } let fauxInt = FauxInt(14)
这些是我想要做的事情……
let realInt:Int = fauxInt someFuncTakingAnInt(someInt:fauxInt)
同样,转换为Int应该隐含意味着期望Int的任何地方,我可以使用或传递FauxInt.
有没有办法让上述成为可能?
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。