1 回答
TA贡献1804条经验 获得超2个赞
除了将所有嵌套类设置为静态(如果这适合您,这样做是更好的选择),您还可以在主类“库”的构造函数中实现嵌套类“通用”。不过这有点奇怪。
另外我认为重要的是要注意这不是“子类”,这是完全不同的东西。这些是“嵌套类”。如果您正在搜索“子类”并尝试将这些建议应用于您的“嵌套类”想法,那么您可能会在 Google 上得到一些非常错误的建议。
namespace Tools
{
public class Library
{
public General general;
public Library
{
general = New General();
}
public class General
{
public Form frmMain;
public void updateText(Control ctrl, string content)
{
if (ctrl != null && (ctrl is Label || ctrl is TextBox))
{
if (ctrl.InvokeRequired)
{
ctrl.Invoke(new MethodInvoker(delegate
{
ctrl.Text = content;
}));
}
else
{
ctrl.Text = content;
}
}
}
}
public class Settings
{
public Form frmMain;
public void someMethod()
{
}
}
}
然后你可以在不初始化嵌套类的情况下引用它的方法(因为它已经在主类的构造函数中初始化了)。
Tools.Library library = new Tools.Library();
library.general.updateText(...);
- 1 回答
- 0 关注
- 157 浏览
添加回答
举报