1

我在一个项目中使用了几个类库,其中一个是典型的“project.common.dll”库,其中包含一些常见的帮助函数。其中一个函数是创建调试输出的调试函数。现在我想通过使用用户级属性(应用程序设置)来启用/禁用调试输出。如何在此类库中引用主应用程序的 program.cs 中定义的变量?

更新:谢谢大家。我可能会在我的基础应用程序中创建一个静态方法来执行检查(是否调试),然后调用公共库中的调试函数。

4

3 回答 3

4

你不能。

您需要做的是在类库本身中拥有属性,当您在主应用程序中创建它的实例时,将用户设置传入:

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

或设置参数,如果它是一个静态类:

StaticDebug.Output = this.Output;
于 2012-11-26T13:47:53.127 回答
2

您可以使用ConditionalAttribute

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

这样,当您在 Debug 模式下构建时,会调用该方法;在发布模式下没有。

于 2012-11-26T13:51:23.430 回答
0

在 Debug 类的构造函数上使用参数(如果类是静态的,则使用静态构造函数)。

于 2012-11-26T13:47:09.390 回答