gpt4 book ai didi

c# - 如何传递包含 this 的类对象并从该类调用方法

转载 作者:行者123 更新时间:2023-11-30 20:55:23 45 4
gpt4 key购买 nike

我创建了一个处理表单控件跟踪的 formControlTracker 类。这似乎按预期工作。现在,我想在按下保存按钮时从 formControlTracker 类中访问 public string[] getDirtyControls() 方法。我试图访问 cTracker.getDirtyControls(), 总线代码,我认为我实例化的类 formControlTracker 超出了范围。如何在不必重新实例化 formControlTracker 类的情况下访问 getDirtyControls() 方法?

代码片段:

public partial class settingsForm : Form
{
public settingsForm()
{

InitializeComponent();

settingsTabControl.Appearance = TabAppearance.Buttons;
settingsTabControl.SizeMode = TabSizeMode.Fixed;
settingsTabControl.ItemSize = new System.Drawing.Size(0,1);

formControlTracker cTracker = new formControlTracker(this);

wLogSettingsFormProperties settingsFormProp = new wLogSettingsFormProperties();

}

public void lDirtyControls()
{

/*foreach (string con in cTracker.getDirtyControls())
{
MessageBox.Show(con);
}*/
}

public void saveSettingsButton_Click(object sender, EventArgs e)
{
lDirtyControls();
}

最佳答案

你可以把它做成类中的一个字段

public partial class settingsForm : Form
{
private formControlTracker _cTracker;

public settingsForm()
{
//set the field value in the constructor.
_cTracker = new formControlTracker(this);

}

public void lDirtyControls()
{
//use the field variable here
/*foreach (string con in _cTracker.getDirtyControls())
{
MessageBox.Show(con);
}*/
}
}

阅读此处了解有关 C# 中字段的更多信息:
http://msdn.microsoft.com/en-us/library/ms173118.aspx

关于c# - 如何传递包含 this 的类对象并从该类调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18346880/

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