如何全局声明静态变量?

时间:2018-09-08 15:38:59

标签: c# static global-variables runtime

我已经从解决方案的一个启动项目中创建了一个静态类和静态变量。而且,如果用户从UI输入任何值,那么我将更改该值,该逻辑是在解决方案中的另一个启动项目中编写的。所以这里的问题是,当我从其他启动项目访问静态变量的值时,则静态变量的值/数据不相同或正在获取先前分配的值。

我的静态课程,

namespace Platform.Models
{
   public static class PlatformConstants
   {
      public const string DefaultLogLevelValue = "Debug";
   }
}

从UI或模型分配值,

namespace Platform.Services.Data {
.....
PlatformConstants.DefaultLogLevelValue = incomingModel.LogLevel.Trim();

获取数据以检查日志级别,

public static string LogLevelThreshold
{
     get { return PlatformConstants.DefaultLogLevelValue; }
}

这是什么问题,为什么我不能从其他项目中获取最后分配的值?

(示例:考虑A和B项目,默认值为“ Warn”。现在我从A项目中分配值“ Error”。如果从项目A中获得静态变量值,则意味着其“ Error”,但该值如果我从B项目中获得价值,则为“警告”。我在哪里做错了?。)

1 个答案:

答案 0 :(得分:-1)

要在每个项目上设置值,更适合使用getter-setter方法。 确实有一个常数必须不被修改

尝试使用具有默认值的getter setter:

actionChains.double_click(driver.find_element_by_xpath("//div[4]/form/div/div").perform()

然后使用用户界面设置值:

    public string DefaultLevelValue { get; set;  } ="Debug";

您将获得正确的值!