如何分配给Func <>类型的类属性

时间:2018-08-28 12:01:30

标签: c# func

好的,我上了一堂课。在该类中,我具有以下属性:

private Func<object, OutputEventArgs> _outputMethod = null;
    public Func<object, OutputEventArgs> OutputMethod
    {
        get { return _outputMethod; }
        set { _outputMethod = value; }
    }

我希望类能够调用此方法,该方法将允许该类将输出(错误消息等)发送到我选择的某个位置。

这似乎正常,但是当我要分配该属性时出现问题。

我还有一个名为OutputHandler的类,它看起来像这样:

public static class OutputHandler
{
    public static void HandleOutput(OutputEventArgs e)
    {

    }
}

我知道我可以直接从有问题的类中调用该方法,但是我想强制实现某种关注点分离。

所以我的分配是这样的(c1是其中包含Func的类的实例):

c1.OutputMethod = ????

我已经尝试了一些方法,但是没有一个起作用。我也曾在这个网站上四处浏览,但到目前为止却一无所获。

1 个答案:

答案 0 :(得分:1)

就像其他人提到的那样,您可以将OutputMethod更改为Action而不是Func,或者您可以更改:

public static void HandleOutput(OutputEventArgs e)
{

}

public static object HandleOutput(OutputEventArgs e)
{

}