gpt4 book ai didi

c# - C# 扩展方法是否仅适用于实例方法?

转载 作者:太空宇宙 更新时间:2023-11-03 22:25:36 24 4
gpt4 key购买 nike

我最近开始有用地使用 C# 扩展方法。 SO 示例和文档表明它们仅用于实例方法(即使用 this 关键字)。可以将它们(或其他方法)与静态/类方法一起使用吗?

(我的特殊要求是将 Java 代码转换为 C#,其中“大部分代码”不需要编辑。Java 实例方法(例如 Java String.indexOf())可以通过扩展方法调用 C# string.IndexOf())。我想对 Java Math.abs() => C# Math.Abs​​()) 做同样的事情。

总结 不。答案表明拥有它是一件合理的事情,但不太可能很快发生。解决方法将需要编辑创建新类或类似的东西,这可能不值得。

最佳答案

您不能创建静态扩展方法 - 这也是我希望能够做到的事情!

您可以使用标准后缀创建您自己的静态类,即 MathJSyntax.abs(..) 将调用 Math.Abs​​(..)

关于c# - C# 扩展方法是否仅适用于实例方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1550842/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com