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 關注
- 178 瀏覽
添加回答
舉報