我開始了一個小應用程序(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