C# 任何函数作为参数

2024-03-10

是否可以创建一个采用任何方法(无论其参数如何)作为参数的方法?该方法还将有一个params参数然后获取参数方法的所有参数。

所以基本上我想要的是这样的:

public void CallTheMethod(Action<int> theMethod, params object[] parameters)

但对于任何方法,而不仅仅是采用 int 的方法。

这样的事情可能吗?

Thanks


这是可能的,但不是应该做的。

这就是我要做的:

public void CallTheMethod(Action toCall)

你可能会“嗯”。基本上,它让用户做的是:

CallTheMethod(() => SomeOtherMethod(with, some, other, parameters));

然而,如果你想让它返回一个类型,就涉及到泛型:

public void CallTheMethod<T>(Func<T> theMethod)

您可以对该类型施加通用约束,用它做任何您想做的事情,等等。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C# 任何函数作为参数 的相关文章

随机推荐