c# – 如何使用隐式运算符方法获取“查找用法”?

我从不喜欢隐式运算符(更喜欢扩展方法),因为在代码中发生转换/转换时很难直观地看到它们.

想象一下,如果你有如下例子:

public static implicit operator Deal(string dealAsXml)
{
    //convert the xml into Deal object
}

上面的隐式运算符可以帮助您将Xml格式的交易转换/转换为Deal Object.

通常当您右键单击某个方法时,可以在其上使用“查找用法”(或Alt F7),这非常有用,隐式运算符是否有类似内容?

我认为这是在可能的情况下使用Extensions方法的另一个原因.

解决方法

也许像Resharper这样的东西可以做到,但我不确定.当我需要查找用法时,我会以穷人的方式执行此操作并删除隐式运算符,重新编译并查找错误.

我认为理论上编译器可能会错过一个案例,如果它可以使用不同的隐式运算符(或切换到方法的“对象”类型重载),但它往往适用于我的用法.我确信有更好的解决方案,但到目前为止它对我有用.

编辑:刚刚思考并测试了它.将隐式运算符标记为[已废弃]实际上会在您使用它的任何地方产生编译器警告!我想这将抓住那些存在其他有效重载的极端情况,你可能完全删除了隐式运算符.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


c语言数组越界会怎么样
c语言指针怎么等于数组
c语言数组怎么存入文字
c语言中怎么显示数组
c语言数组元素怎么选
c语言数组怎么累加
c语言数组符号怎么输入
c语言怎么用长数组
c语言数组函数怎么输入
c语言数组怎么去掉差异
c语言怎么求解数组
c语言数组怎么用变量
c语言怎么申明数组
c语言怎么控制数组
c语言怎么计算数组长度
c语言数组怎么插星号
c语言数组怎么加长度
c语言中怎么输出数组
c语言怎么记住数组边界
c语言数组怎么输入符号