我在项目中使用了几个类库,其中一个是典型的“project.common.dll”库,其中包含一些常见的帮助函数。其中一个函数是一个创建调试输出的调试函数。 现在我想通过使用用户级属性(应用程序设置)来启用/禁用调试输出。如何引用此类库中主应用程序的program.cs中定义的变量?
更新:谢谢大家。我可能会在我的基本应用程序中创建一个静态方法来执行检查(调试与否),然后在公共库中调用Debug函数。
答案 0 :(得分:4)
你不能。
您需要做的是在类库中拥有属性,当您在主应用程序中创建它的实例时,请传递用户设置:
var debug = new DebugInstance { Output = this.Output };
或设置参数(如果它是静态类:
)StaticDebug.Output = this.Output;
答案 1 :(得分:2)
您可以使用ConditionalAtrribute:
[Conditional("DEBUG")]
public static void WriteDebugInfo()
{
Trace.WriteLine("what ever...")
}
这种方式在调试模式下构建时,会调用该方法;在发布模式下没有。
答案 2 :(得分:0)
在Debug类的构造函数上使用参数(如果类是静态的,则使用静态构造函数)。