重新构造类库并删除控制台写行
本文关键字:控制台 删除 新构造 类库 | 更新日期: 2023-09-27 18:24:08
我有一个类库,它非常小而且简单。
控制台应用程序使用它。这个库有几行代码可以写入控制台(我现在意识到这对我来说是糟糕的设计)。
我还有一个WPF应用程序,我想利用这个类库。
我在想,也许我应该删除它写入控制台的行,但引发一个返回字符串的事件。因此,使用该库的控制台应用程序可以侦听事件&输出字符串或不执行任何操作。这也将使我能够在WPF应用程序中使用它。
我有两个问题。
1) 我的想法明智吗?还是有更好的方法?
2) 假设我有5节课&每个类中都有一个Console.WriteLine。我是否必须在每个类中创建一个事件?还是创建一个基类并继承事件是明智的?我确实有一个类已经从另一个类继承了,所以这不会起作用
我一直在使用这样的回调构造。我不知道为什么以及什么时候这可能太脏了,但我发现它在某些情况下足够方便,可以很容易地重定向的默认行为
class Box
{
public static Action<String> Echo { get; set; }
static Box() { Echo = (String s) => {Console.WriteLine(s);};}
public void DoSomething()
{
Box.Echo.Invoke(DateTime.Now.ToString());
}
}
Box obj = new Box();
obj.DoSomething();
Box.Echo = (String s) => { MessageBox.Show(s); };
obj.DoSomething();