我在我的項目中有一個文件。該文件被其他一些項目使用。我想使用控制檯項目的控制檯和Messagebox for Windows應用程序項目在此文件中顯示一些消息。所以,我想以編程方式瞭解項目類型。可以有人說如何實現這個目標?如何以編程方式知道項目類型?
注意:該文件是C#語言。
編輯: 大衛的答案是我必須遵循的方式。但是,目前我們接近發佈日期。所以,我需要使用項目類型作爲臨時解決方案。有什麼辦法嗎?
如果有一個主窗口,如果不是你必須在一個控制檯應用程序我在我的項目中有一個文件。該文件被其他一些項目使用。我想使用控制檯項目的控制檯和Messagebox for Windows應用程序項目在此文件中顯示一些消息。所以,我想以編程方式瞭解項目類型。可以有人說如何實現這個目標?如何以編程方式知道項目類型?
注意:該文件是C#語言。
編輯: 大衛的答案是我必須遵循的方式。但是,目前我們接近發佈日期。所以,我需要使用項目類型作爲臨時解決方案。有什麼辦法嗎?
如果有一個主窗口,如果不是你必須在一個控制檯應用程序測試:
if (Process.GetCurrentProcess().MainWindowHandle == IntPtr.Zero)
{
Console.WriteLine(...);
}
else
{
// Your Message box code
....
}
這個問題也是[辯論] [這裏](http://stackoverflow.com/questions/6408588/how-to-tell-if-there-is-a-console) – 2012-07-07 12:02:56
或者Windows NT服務或類庫。 .... – 2012-07-07 12:31:48
確定它不會區分NT服務中的無窗口應用程序,但問題是關於控制檯應用程序或窗口應用程序。 – 2012-07-07 13:54:26
這聽起來像一個設計問題的代碼,誠實。通用代碼不應以任何方式與應用程序實現耦合。它應該只是生成消息本身(我假設一個字符串),然後應用程序特定的代碼應該處理實際顯示它。 – David 2012-07-07 09:51:09
@David異常處理怎麼樣 – prabhakaran 2012-07-07 09:53:51
什麼_about_它?您仍然可以在代碼中的任何位置捕獲和處理異常。是什麼讓你覺得你不能? – David 2012-07-07 09:54:44