方法不返回值
本文关键字:返回值 方法 | 更新日期: 2023-09-27 18:06:44
我有一个方法,它应该在label.text中返回当前用户的域名。我在表单的加载事件中调用该方法,但什么也没有出现,代码中也没有错误。也许我开始的时候错了?如果我将方法代码直接放在load事件中,它就会工作。
public partial class Main Form
{
public Main()
{
InitializeComponent();
}
public string getCurrentDomain()
{
return domainNameValue.Text = Environment.UserDomainName;
}
public void Main_Load(object sender, EventArgs e)
{
Main main = new Main();
main.getCurrentDomain();
}
}
我认为你的问题是在Main_Load
功能,你正在创建一个新的形式,而不是改变当前的形式,正确的代码是:
public void Main_Load(object sender, EventArgs e)
{
this.getCurrentDomain();
}
如果你想要另一种形式可以使用main.show()
问题是因为你在Main_Load
方法中创建了Main类的新实例。因此,方法getCurrentDomain()
更改您正在创建的实例的标签文本,而不是执行Main_Load
的形式中的标签。
方法getCurrentDomain()
的主体也违反了最小惊讶原则,因为该方法产生了改变标签文本的副作用。但是方法的名称只表明正在返回当前域名。
你可以使用
public string getCurrentDomain() // Method: Get current domain
{
domainNameValue.Text = Environment.UserDomainName;
return Environment.UserDomainName;
}