gpt4 book ai didi

c# - 为什么扩展方法需要 "static"和 "this",它们的内存是如何分配的?

转载 作者:太空狗 更新时间:2023-10-29 18:20:59 25 4
gpt4 key购买 nike

关于扩展方法的几个问题:

  1. 为什么扩展方法是静态的?

  2. 为什么需要在静态类中声明?

  3. 扩展方法的参数列表中的this关键字表示什么?由于它是一个静态类,“this”关键字在此上下文中如何工作?

  4. 这些类型的方法如何进行内存分配?

最佳答案

静态和非静态方法之间的唯一区别是非静态方法接收隐式参数 - this。扩展方法不会在声明该方法的对象的上下文中调用,因此无法将 this 引用传递给它们,因此它们必须是静态的。

您不能在扩展方法中使用关键字 this,我希望这能回答您的第三个问题。参数列表中的 this 关键字仅用于指示此方法扩展的类型。

关于内存分配,你有什么问题?扩展方法与任何其他静态方法一样,只是调用语法不同。

关于c# - 为什么扩展方法需要 "static"和 "this",它们的内存是如何分配的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5730013/

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