所以我试图能够传递一个带有可变数量参数的 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
提交
取消