在角落的情况下有很多微妙的错误,你有代码,如:
char theChar = whatever();if(theChar == 7) {...}
真正的意思是:
if(theChar == '7') {...}
为了尝试一次捕获所有这些,有没有办法禁用隐式转换为’char’?如果没有,那么追踪所有这些的最佳方法是什么?
解决方法 您应该能够为char编写一个简单的替换类(它包含一个char作为其数据,并提供一些强制转换 *** 作符以允许它被用作char),它不允许隐式强制转换为/来自ints,然后搜索并用’mychar’替换’char’.这将抛出您可以修复的编译器错误,然后如果您希望您可以将代码恢复为再次使用char,或坚持使用您的类.这是一个很好的例子,临时使用宏在c …
总结以上是内存溢出为你收集整理的c# – 有没有办法禁用从UInt32到char的隐式转换?全部内容,希望文章能够帮你解决c# – 有没有办法禁用从UInt32到char的隐式转换?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)