我在一個項目中使用了幾個類庫,其中一個是包含一些常用幫助函數的典型「project.common.dll」庫。其中一個功能是創建調試輸出的調試功能。 現在我想通過使用用戶級屬性(應用程序設置)來啓用/禁用調試輸出。我該如何引用這個類庫中主應用程序的program.cs中定義的變量?類庫中常見的「調試」功能
更新:謝謝大家。我可能會在我的基本應用程序中創建一個靜態方法來執行檢查(不管是否調試),然後調用公共庫中的調試功能。
我在一個項目中使用了幾個類庫,其中一個是包含一些常用幫助函數的典型「project.common.dll」庫。其中一個功能是創建調試輸出的調試功能。 現在我想通過使用用戶級屬性(應用程序設置)來啓用/禁用調試輸出。我該如何引用這個類庫中主應用程序的program.cs中定義的變量?類庫中常見的「調試」功能
更新:謝謝大家。我可能會在我的基本應用程序中創建一個靜態方法來執行檢查(不管是否調試),然後調用公共庫中的調試功能。
在Debug類的構造函數中使用參數(如果類是靜態的,則使用靜態構造函數)。
你不能。
,你需要做的是在類庫本身的屬性,當你在你的主應用程序中創建它的實例傳遞用戶設置在:
var debug = new DebugInstance { Output = this.Output };
或設定的參數,如果它是靜態類:
StaticDebug.Output = this.Output;
可以使用ConditionalAtrribute:
[Conditional("DEBUG")]
public static void WriteDebugInfo()
{
Trace.WriteLine("what ever...")
}
這種方式當你在調試模式下構建時,該方法被調用;在釋放模式下。
爲什麼不使用if debug compile標誌? – Anders
您不能在您的類庫中引用主程序中的變量,您必須將這些變量放在單獨的庫中 – thumbmunkeys