2010-01-17 81 views
0

如何在運行時檢查C#應用程序是Windows應用程序還是控制檯應用程序?
C#:檢查窗口是否形成

我想寫一個通用的輸出庫(當控制檯應用程序輸出到文本框或控制檯)。
因此,如果我可以檢查它是否是一個asp應用程序也會有用。

回答

6

我認爲你可能會以錯誤的方式攻擊問題。不知道更多關於你在這裏做什麼的是我建議的:

用Write(...)方法創建一個類似IOutputWriter的接口。然後爲每個環境創建一個實現(ConsoleOutputWriter,TextboxOutputWriter等)。每個環境都可以使用適當的實現,因爲他們知道它們是什麼類型的應用程序。

+2

是的,這樣的系統已經存在inf TraceListeners的形式。 – 2010-01-17 18:14:36

+0

是的,這就是我想要做的。但如前所述,我的問題是我如何知道環境(console/win/web),所以我可以將指針/委託轉換爲使用appropriete實現? – 2010-01-17 20:10:38

+0

在應用程序啓動時使用依賴注入來配置輸出寫入器實現。所以不是你的輸出編寫器API試圖在運行時找出環境,而是外部配置它到適當的類型。 如果您可以詳細說明您正在嘗試做什麼,我可以嘗試給您更多具體的答案。 – 2010-01-17 20:24:23