我是现有代码中的新Func委托,其中只有一个函数。有人可以解释如何使用Func委托吗?
public static ListColumn SetBColorFunction(this ListColumn column, Func<object, Func<object>, Color> colorFunction)
{
column.BackColorFunction = colorFunction;
return column;
}
现在我想知道调用上述函数的方式是什么?
答案 0 :(得分:0)
您的方法说明:
SetBColorFunction
是扩展方法,因此您无需传递第一个参数。Color
作为参数并返回一个object
。委托可以采用返回object
并且不采用任何参数的方法。因此,基于此理解,请尝试以下解决方案。
解决方案1:
Color Callback(object o, Func<object> func)
{
object obj = func();
return new Color();
}
void Consumer()
{
ListColumn listColumn = new ListColumn();
listColumn.SetBColorFunction(Callback)
}
解决方案2: 使用lambda。
void Consumer()
{
ListColumn listColumn = new ListColumn();
listColumn.SetBColorFunction((obj, func) => {// Do your work and return object})
}