好的,我上了一堂课。在该类中,我具有以下属性:
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 = ????
我已经尝试了一些方法,但是没有一个起作用。我也曾在这个网站上四处浏览,但到目前为止却一无所获。
答案 0 :(得分:1)
就像其他人提到的那样,您可以将OutputMethod更改为Action而不是Func,或者或您可以更改:
public static void HandleOutput(OutputEventArgs e)
{
}
到
public static object HandleOutput(OutputEventArgs e)
{
}