gpt4 book ai didi

c# - 在 C# 中确定对象 o 是 Action<...> 还是 Func<....>

转载 作者:太空宇宙 更新时间:2023-11-03 19:27:02 24 4
gpt4 key购买 nike

假设您有一个字典 。它可能包含小数、字符串或其他有效类型。它还可以包含 Actions 和 Funcs,例如:

Action<string> or Action<int,int,string> etc.

是否有一种通用的方法来发现给定的键 k 指向一个 Action 或 Func 然后调用相同的值?

var value = dict[key];
//some sort of predicate checking if value is invokeable

我考虑过使用 dynamic 关键字并简单地在结果对象上调用 Invoke( args ),但这看起来很慢而且不够优雅。

最佳答案

你可以测试它是一个委托(delegate):

Delegate d = value as Delegate;
if(d != null) d.DynamicInvoke(args);

但是!如果您不知道调用前的签名,那么知道要提供什么参数(在对象数组中)是很棘手的。

关于c# - 在 C# 中确定对象 o 是 Action<...> 还是 Func<....>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7855947/

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