c# - 如何将委托(delegate)原型(prototype)传递给方法?

标签 c# .net delegates

所以可以说在我的类里面我有:

public delegate bool MyFunc(int param);

我该怎么做

someObj.PassMeADelegateToExamine(this.MyFunc); // not possible!?!

这样我就可以检查委托(delegate),也许可以使用反射或其他 idk 来找出它的返回类型和它可能具有的任何参数?

基本上,如果我可以将其转换为一个(不可调用的)Action 对象,那将是伟大的

最佳答案

“原型(prototype)”只是一个新的类型定义 - 它不是您可以直接使用的实际实例。在您的情况下,MyFunc 是委托(delegate)Type,而不是实际的委托(delegate)。

你可以这样做:

void PassMeADelegateTypeToExamine(Type type) { ... }

然后调用它:

someObj.PassMeADelegateTypeToExamine(MyFunc);

关于c# - 如何将委托(delegate)原型(prototype)传递给方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2556988/

相关文章:

qt - 如何使用委托(delegate)在 QHeaderView 部分中绘制像素图?

c# - CSS 选择器不工作——被 Selenium WebDriver 截断

.net - Fluent NHibernate 默认约定

c# - 我需要端口转发吗?

c# - 'Intermediate File(s)'是什么意思?

c# - ToolTip 保持显示

c# - 使用特定示例了解 C# 中的委托(delegate)和事件

c# - 通过反射创建委托(delegate)

c# - 在 wpf C# 中使用点访问二维数组

c# - 可以将模拟配置为在任何方法调用上抛出指定的异常吗?