在 Func 委托中调用 Func 委托的方法
ways to call Func delegate inside Func delegate
我是新的 Func 委托,在我现有的代码中有一个函数。有人可以解释如何使用 Func 委托吗?
public static ListColumn SetBColorFunction(this ListColumn column, Func<object, Func<object>, Color> colorFunction)
{
column.BackColorFunction = colorFunction;
return column;
}
现在我想知道调用上面这个函数的方法有哪些?
您的方法描述:
SetBColorFunction
是一个扩展方法,所以你不需要传递第一个参数。
- 它采用一种方法,该方法采用委托和
Color
作为参数,returns 和 object
。委托可以采用 returns 和 object
并且不采用任何参数的方法。
因此,有了这种理解,请尝试以下解决方案。
解决方案一:
Color Callback(object o, Func<object> func)
{
object obj = func();
return new Color();
}
void Consumer()
{
ListColumn listColumn = new ListColumn();
listColumn.SetBColorFunction(Callback)
}
方案二:
使用 lambda。
void Consumer()
{
ListColumn listColumn = new ListColumn();
listColumn.SetBColorFunction((obj, func) => {// Do your work and return object})
}
我是新的 Func 委托,在我现有的代码中有一个函数。有人可以解释如何使用 Func 委托吗?
public static ListColumn SetBColorFunction(this ListColumn column, Func<object, Func<object>, Color> colorFunction)
{
column.BackColorFunction = colorFunction;
return column;
}
现在我想知道调用上面这个函数的方法有哪些?
您的方法描述:
SetBColorFunction
是一个扩展方法,所以你不需要传递第一个参数。- 它采用一种方法,该方法采用委托和
Color
作为参数,returns 和object
。委托可以采用 returns 和object
并且不采用任何参数的方法。
因此,有了这种理解,请尝试以下解决方案。
解决方案一:
Color Callback(object o, Func<object> func)
{
object obj = func();
return new Color();
}
void Consumer()
{
ListColumn listColumn = new ListColumn();
listColumn.SetBColorFunction(Callback)
}
方案二: 使用 lambda。
void Consumer()
{
ListColumn listColumn = new ListColumn();
listColumn.SetBColorFunction((obj, func) => {// Do your work and return object})
}