为什么我们需要在 od 扩展方法中进行显式转换,而不是在静态方法中进行转换?
为什么扩展方法不使用隐式转换,而静态方法却使用隐式转换?有人可以用一个正确的例子来解释吗?
谢谢
Why Extension methods do not use implicit conversions but static methods do? Can anybody explain with a proper example?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
因为 C# 规范规定:
就 C# 规范而言,用户定义的转换运算符不同于隐式引用转换,当然也不同于标识或装箱转换。
有关原因的提示:
C# 无法明确选择要执行的隐式转换。
Because the C# spec states:
As far as the C# spec is concerned, a user-defined conversion operator is different than an implicit reference conversion, and certainly different than an identity or boxing conversion.
For a hint on why:
C# could not unambiguously choose which implicit conversion to execute.