C# 类库中的公共“调试”函数

C# 类库中的公共“调试”函数,c#,C#,我在一个项目中使用了几个类库,其中一个是典型的project.common.dll库,其中包含一些常用的帮助函数。其中一个函数是创建调试输出的调试函数。 现在,我想通过使用用户级属性应用程序设置来启用/禁用调试输出。如何在此类库中引用主应用程序的program.cs中定义的变量 更新:谢谢大家。我可能会在我的基础应用程序中创建一个静态方法,该方法执行是否调试的检查,然后调用公共库中的调试函数。在调试类的构造函数上使用参数,如果该类是静态的,则使用静态构造函数。在调试类的构造函数或静态构造函数上使

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


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

在调试类的构造函数上使用参数,如果该类是静态的,则使用静态构造函数。

在调试类的构造函数或静态构造函数上使用参数如果类是静态的。

您不能

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

var debug = new DebugInstance { Output = this.Output };
或者,如果是静态类,则设置参数:

StaticDebug.Output = this.Output;
你不能

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

var debug = new DebugInstance { Output = this.Output };
或者,如果是静态类,则设置参数:

StaticDebug.Output = this.Output;
您可以使用:

这样,当您在调试模式下构建时,就会调用该方法;在释放模式下,不能使用。

您可以使用:


这样,当您在调试模式下构建时,就会调用该方法;不在发布模式下。

为什么不使用if debug COMPLE标志?您不能从类库中的主程序引用变量,您必须将这些变量放在单独的库中为什么不使用if debug COMPLE标志?您不能从类库中的主程序引用变量,您必须将这些变量放在单独的库中