c# - 如何将函数装箱为对象类型?
问题描述
有没有更简洁的方法可以将此函数添加到object
列表中?我想避免分配给中间addFunc
变量。
static void Main(string[] args)
{
List<object> myObjects = new List<object>();
//myObjects.Add(AddThings);
Func<int, int, int> addFunc = AddThings;
myObjects.Add(addFunc);
}
static int AddThings(int x, int y) { return x + y; }
解决方案
你可以投射它:
myObjects.Add((Func<int, int, int>) AddThings);
或者
var myObjects = new List<object> { (Func<int, int, int>)AddThings };
推荐阅读
- javascript - “未经检查的 runtime.lastError:消息端口在收到响应之前关闭。” Chrome 扩展程序
- java - guice 单个常量的多个绑定
- swift - 在三角形 CAShapeLayer 上方添加文本
- javascript - 使用异步导致:错误 [ERR_REQUIRE_ESM]: Must use import to load ES Module asyncToGenerator.js
- python - 单击提交付款按钮后,Django Stripe 付款响应无效参数
- mysql - 外键可以引用多个表吗?
- javascript - 在填写表格之前隐藏文章的其余部分
- php - php说每天都有不同的时区秒数
- go - 使用无服务框架在 API 模式下本地调试 lambda golang
- arrays - 一种在 C 中知道结构数组中的元素是否为空/NULL 的方法