gpt4 book ai didi

c# - 向现有函数添加功能(C#、C++)

转载 作者:行者123 更新时间:2023-11-30 01:42:44 24 4
gpt4 key购买 nike

在 C# 中有没有一种方法可以像下面这样扩展一个函数?

void foo()
{
// function body, instructions

return;
}

然后在代码的其他地方

foo += (x) => { // some functionality }

这实际上会添加在 foo() 执行结束时触发的 lambda 功能。

  • 这种机制的名称和内部细节是什么?
  • 这种性质的东西在 C++ 中是否可行?

最佳答案

您的示例将不会编译消息:

error CS1656: Cannot assign to 'foo' because it is a 'method group'

做那样的事情是不可能的。你看到的可能是operator += for events .这是一个 example with a lambda .

关于 C++

不可能将调用添加到不同函数的末尾(与 C# 相同)。但是您可以为您的事件实现事件和重载运算符 += 以接受指向函数的指针。

关于c# - 向现有函数添加功能(C#、C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39194651/

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