我想在静态类中定义一个属性,然后从另一个静态类访问此属性。为此,我定义了这样一个属性:
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
中出现异常。有人可以告诉我我的代码有什么问题吗?
答案 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; }
}