首页 > 解决方案 > 如何将函数装箱为对象类型?

问题描述

有没有更简洁的方法可以将此函数添加到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; }

标签: c#

解决方案


你可以投射它:

myObjects.Add((Func<int, int, int>) AddThings);

或者

var myObjects = new List<object> { (Func<int, int, int>)AddThings };

推荐阅读