如何分配给 Func<> 类型的 class 属性
How to assign to a class property of type Func<>
好的,我有一个 class。在那 class 我有以下 属性:
private Func<object, OutputEventArgs> _outputMethod = null;
public Func<object, OutputEventArgs> OutputMethod
{
get { return _outputMethod; }
set { _outputMethod = value; }
}
我希望 class 能够调用此方法,该方法将允许它将输出(错误消息等)发送到我选择的某个地方。
这似乎工作正常,但当我想分配那个 属性 时,问题就来了。
我有另一个名为 OutputHandler 的 class,它看起来像这样:
public static class OutputHandler
{
public static void HandleOutput(OutputEventArgs e)
{
}
}
我知道我可以直接从有问题的 class 调用该方法,但我想强制执行某种关注点分离。
所以我的任务是这样的(c1 是 class 的一个实例,里面有 Func):
c1.OutputMethod = ????
我已经尝试了一些方法,但是 none 中的一些有效。我也查看了这个网站,但到目前为止什么都没有。
就像其他人提到的那样,您可以将 OutputMethod 更改为 Action 而不是 Func,或您可以更改:
public static void HandleOutput(OutputEventArgs e)
{
}
至
public static object HandleOutput(OutputEventArgs e)
{
}
好的,我有一个 class。在那 class 我有以下 属性:
private Func<object, OutputEventArgs> _outputMethod = null;
public Func<object, OutputEventArgs> OutputMethod
{
get { return _outputMethod; }
set { _outputMethod = value; }
}
我希望 class 能够调用此方法,该方法将允许它将输出(错误消息等)发送到我选择的某个地方。
这似乎工作正常,但当我想分配那个 属性 时,问题就来了。
我有另一个名为 OutputHandler 的 class,它看起来像这样:
public static class OutputHandler
{
public static void HandleOutput(OutputEventArgs e)
{
}
}
我知道我可以直接从有问题的 class 调用该方法,但我想强制执行某种关注点分离。
所以我的任务是这样的(c1 是 class 的一个实例,里面有 Func):
c1.OutputMethod = ????
我已经尝试了一些方法,但是 none 中的一些有效。我也查看了这个网站,但到目前为止什么都没有。
就像其他人提到的那样,您可以将 OutputMethod 更改为 Action 而不是 Func,或您可以更改:
public static void HandleOutput(OutputEventArgs e)
{
}
至
public static object HandleOutput(OutputEventArgs e)
{
}