从静态函数访问定义的 属性

Access to a defined property from static function

我想在静态 class 中定义一个 属性,然后从另一个静态 class 访问此 属性。为此,我定义了这样一个 属性:

public static class First
{
    public static void Run(string name)
      {
         xzFileName=name
         //my code here
       }
    public static string xzFileName
      {
         get
          {
            return xzFileName;
          }
         set
          {
            xzFileName=value;
          }   
       }
}

但是我在这一行中得到了一个例外xzFileName=value。有人可以告诉我我的代码有什么问题吗?

你有一个循环引用。您正在尝试从 属性 的 setter 中设置 属性,这会导致无限循环。

将其更改为使用自动实现的属性:

public static class First
{
    public static void Run(string name)
      {
         xzFileName=name;
         //my code here
       }
    public static string xzFileName { get; set;  }
}

默认行为 -static classes 只能有静态成员。静态 class 不能有任何实例如果有的话,你不能访问非静态成员。

public static class First
  {
    public void Run(string name) => xzFileName = name;
    public string xzFileName { get; set; }             
   }