为了账号安全,请及时绑定邮箱和手机立即绑定

如何传递具有可变数量参数的 Func<T>

如何传递具有可变数量参数的 Func<T>

C#
桃花长相依 2021-07-09 14:11:37
所以我试图能够传递一个带有可变数量参数的 Func 。就像是:public object GetValue<T>(string name, Func<object> func) {     var result = func.DynamicInvoke();}当 func 的参数数量已知时,上述函数/签名效果很好。但是当您希望参数的数量在运行时之前未知时,它很快就会崩溃。我想更改方法签名以允许以下场景,而不使用方法重载:// No argumentsvar result = GetValue("Bob", () => { return "Bob Smith"; });// 1 argumentvar result = GetValue("Joe", (i) => { return "Joe " + i.ToString(); });// 2 argumentsvar result = GetValue("Henry", (i,e) => {     return $"i: {i.ToString()}, e: {e.ToString()}"; });现在不需要超过 2 个参数......但可能在未来。调用语法对我来说是最重要的一点。我宁愿不让来电者投射任何东西。我已经查看了这个问题和答案,但它们似乎都需要一些我不想使用的调用语法。任何想法如何实现?
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 189 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信