gpt4 book ai didi

c# - 如何在方法中声明/设置静态变量

转载 作者:行者123 更新时间:2023-11-30 19:30:10 24 4
gpt4 key购买 nike

我无法在方法中获取/设置静态变量。我该怎么做?

    public class LoginDialog
{
// class members

private static string _user="" ;

public void RunDialog()
{

_user = "Peter";

}

public static string _User { get; set; }

}

阅读答案后,我编辑了代码,但仍然无法获取静态变量 _user。我做错了什么?

    public class LoginDialog
{
private static string _user;

public void RunDialog()
{
LoginDialog._user = "Peter";
}
public static string _User { get {return _user;} }
}

当我这样声明时,一切正常,但我想在方法内部声明。

 private static string _user="Peter";

最佳答案

问题是您正在设置一个私有(private)静态字段,然后大概在其他地方读取公共(public)静态属性。在您的代码中,公共(public)静态属性完全独立于私有(private)静态字段。

试试这个:

public class LoginDialog 
{
// class members
public void RunDialog()
{
_User = "Peter";
}

public static string _User { get; private set; }
}

_User 属性创建了自己的不可见私有(private)支持字段,这就是为什么它与您在其他地方声明的私有(private) _user 字段完全分开的原因。

(样式指南规定了公共(public)静态属性的名称 User,但这只是一个指南。)

这是另一种方法,适用于不支持自动属性且公共(public)属性名称中没有下划线的早期 C# 版本:

public class LoginDialog 
{
private static string _user;

// class members
public void RunDialog()
{
_user = "Peter";
}

public static string User { get { return _user; } }
}

关于c# - 如何在方法中声明/设置静态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9873635/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com