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

C# 从静态函数访问已定义的属性,c#,static-functions,C#,Static Functions,我想在一个静态类中定义一个属性,然后从另一个静态类访问这个属性。为此,我定义了此类财产: public static class First { public static void Run(string name) { xzFileName=name //my code here } public static string xzFileName { get {

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

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;  }
}

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

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

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

默认行为-静态类只能有静态成员。静态类不能有任何实例。如果有非静态成员,则无法访问它们

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

默认行为-静态类只能有静态成员。静态类不能有任何实例。如果有非静态成员,则无法访问它们

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