从静态函数访问定义的 属性
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; }
}
我想在静态 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; }
}