2012-11-26 26 views
1

我在一個項目中使用了幾個類庫,其中一個是包含一些常用幫助函數的典型「project.common.dll」庫。其中一個功能是創建調試輸出的調試功能。 現在我想通過使用用戶級屬性(應用程序設置)來啓用/禁用調試輸出。我該如何引用這個類庫中主應用程序的program.cs中定義的變量?類庫中常見的「調試」功能

更新:謝謝大家。我可能會在我的基本應用程序中創建一個靜態方法來執行檢查(不管是否調試),然後調用公共庫中的調試功能。

+4

爲什麼不使用if debug compile標誌? – Anders

+0

您不能在您的類庫中引用主程序中的變量,您必須將這些變量放在單獨的庫中 – thumbmunkeys

回答

0

在Debug類的構造函數中使用參數(如果類是靜態的,則使用靜態構造函數)。

4

你不能。

,你需要做的是在類庫本身的屬性,當你在你的主應用程序中創建它的實例傳遞用戶設置在:

var debug = new DebugInstance { Output = this.Output }; 

或設定的參數,如果它是靜態類:

StaticDebug.Output = this.Output; 
2

可以使用ConditionalAtrribute

[Conditional("DEBUG")] 
public static void WriteDebugInfo() 
{ 
    Trace.WriteLine("what ever...") 
} 

這種方式當你在調試模式下構建時,該方法被調用;在釋放模式下。