我有一个.net标准库,可以从.net Framework 4.x程序或.net核心程序中调用。当代码在.net标准库中执行方法时,我想检查一下从中调用它的框架的上下文。更具体的说:如果从4.x内调用,我想确保4.x设置标准库中静态变量的值,而从核心调用时,我想确保未设置它。
答案 0 :(得分:0)
您可以使用#if
preprocessor directive处理此问题。文章中列出了目标框架的名称,因此您可以执行类似于
#if NET48 || NET472 || ...
staticVariable = "SomeStaticValue";
#endif
不过,作为一个小的建议,如果可以在使用它的程序中设置该变量,则可能会更容易。然后可以将其传递到库中,并在需要时使用。