我开始了一个小应用程序(C#,.Net4,控制台应用程序),这是基于规则在家中移动文件的基本想法。从方法返回更新
这个应用程序已经发展并变得非常有用。所以我的任务是将其分解成更多可重用的类和更小的项目(类库)。
我有一个通用的'显示'函数,它接受一个字符串和一个error_level id。基于此,我会以某种颜色将文本输出到我的控制台窗口。当一切都在一个大类中时,一切都很好,但我想将一个方法移到它自己的类libabry中 - 但是,我希望它在处理过程中向我的UI(控制台窗口,现在)报告更新。当我将它移动到课堂上时,显然,按照我的'显示'方法'课程,休息。
有没有一种方法可以让我的类方法发送的消息回到我的UI?它的信息如'打开配置文件','处理12个新文件','成功'。
恰巧,UI获取消息并显示它们,而方法完成它的工作。
目前,它是一个控制台应用程序项目。我的计划是撕掉工作代码,保留控制台应用程序进行测试,然后将“UI”更改为一个不错的WPF桌面应用程序。 (我试图学习WPF,并决定使用一个我很久以前开始的小项目,并且'皮肤')。
谢谢,我正在尝试 - 但是,我的应用程序目前是一个控制台应用程序,所以我的主要程序类是静态的。当我声明我的Notify方法时,它必须在我的程序中是静态的。 public static void Notify(string message,Constants.ErrorLevel errorLevel) 。接口声明如下:void Notify(string message,Constants.ErrorLevel errorLevel);所以,因为一个是静态的,另一个是没有的,所以我在我的用户界面上发现错误,说Notify没有实现。我该如何解决这个问题? – Craig
我已经更新了使用委托而不是界面来处理您的情况的答案。 –
感谢你 - 因为我正在走向一个非静态类,当我得到WPF时,最好是使用基于接口的解决方案,还是事件处理程序适合静态和非静态项目? – Craig