我使用的引擎具有 Vector3 和 Vector2 类。
但是,意外地将Vector2传递给需要 Vector3的方法会经常出现问题。
目前它自动转换为 (x, y, 0) 的 Vector3。在遇到运行时问题后,我总是需要一些时间才能找到这些微不足道的原因......
是否可以以某种方式阻止这两个第三方类之间的隐式转换,以便我可以在编译时检测到这些问题?
目前我唯一的想法是编写包装器并用它们替换 Vector3 和 Vector2 的所有用法。
但是看起来很乏味。 还有其他办法吗?
最佳答案
您可以创建一个自定义代码分析器,并将其配置为在代码中发生这种隐式转换时引发编译时错误。
如果您这样做,您还可以将该分析器放入 Nuget 包中,以便使用相同第三方库的其他人可以从您所做的工作中受益。
关于c# - 在不编写包装器的情况下禁用 C# 中第三方类的隐式转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71240296/