CA2225:运算符重载已命名替代项

发布于 2024-10-24 19:11:27 字数 119 浏览 0 评论 0原文

早上好,下午好,晚上好,

您是否曾经写过代码分析弹出此类警告的任何内容?如果是这样,您是否关注他们并实施了友好的替代方案?如果是这样,使用代码重复来避免性能故障还是使用操作员调用?

非常感谢。

Good morning, afternoon or night,

Have you ever wrote anything in which Code Analysis popped up this kind of warnings? If so, did you pay attention to them and implement the friendly alternates? If so, using code repetition to avoid performance breakdowns or using operator calls?

Thank you very much.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

昇り龍 2024-10-31 19:11:27

如果一个方法仅包含对另一个方法的调用,那么外部方法很可能会内联到其调用者中。这意味着没有性能损失。 (发布不附加调试器的版本)。

所以我不会重复代码并调用运算符。


就我个人而言,我根本不明白为什么这条规则存在。不支持运算符重载的语言难道不应该像其他方法一样手动调用 op_SomeThing 公共静态方法吗?

If a method only contains a call to another method then most likely the outer method will be inlined into its caller. Which means that there is no performance loss. (Release build without debugger attached).

So I wouldn't duplicate the code and call the operators instead.


Personally I don't really get why the rule exists at all. Shouldn't languages without operator overloading support be able to just manually call the op_SomeThing public static method like any other method?

遇到 2024-10-31 19:11:27

我在公共类的程序集上执行此操作,这些程序集预计不仅仅会被私人使用,有时甚至会超出私人用途。尽管如此,当一个调用另一个时,如果确实有任何开销的话,开销可以忽略不计(我希望内联意味着后者)

I do it on public classes of assemblies that are expected not to just see private use, and sometimes beyond that. Still, with one calling into the other, the overhead is negligible if indeed there is any overhead at all (I would expect inlining to mean the latter)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文