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

时间:2019-05-02 15:15:40

标签: c# static-functions

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

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中出现异常。有人可以告诉我我的代码有什么问题吗?

2 个答案:

答案 0 :(得分:1)

您有一个循环参考。您正在尝试从属性的设置器中设置属性,这会导致无限循环。

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

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

答案 1 :(得分:1)

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

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