gpt4 book ai didi

c# - 将带参数的函数传递给不期望任何参数的委托(delegate)

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

我知道在 Python 中你可以使用 functools.partial 来传递一个函数对象,其中一些或所有参数已经定义。

有没有办法在 C# 中执行此操作?我想做以下事情:class1.MethodTakingAMethodParameter(3, "foo", class1.MethodToPass(param1, param2, param3));

对于像 delegate void Blah() 这样的委托(delegate)。

最佳答案

你可以使用 lambdas 给一些参数一个值:

Action paramlessDelegate = ()=>MyFunc(value1,value2,value3)

或者如果你只想将一个值放入一些参数中:

Action<int> oneParamDelegate = (remainingParam)=>MyFunc(value1, remainingParam, value3)

在你的例子中:

class1.MethodTakingAMethodParameter(3, "foo", ()=>class1.MethodToPass(param1, param2, param3));

关于c# - 将带参数的函数传递给不期望任何参数的委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6236080/

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