我这个类是程序入口调用皮肤加载给所有窗体加载皮肤的;红色代码部分,假如有10个窗体那我就要写10次;它们就构造函数不一样,请教下怎么能合并成一个循环么,想把所有窗体放到一个数组遍历一次,数组类型统一为它们的父类FormBase,可是要怎么初始化呢,然后我基本只要是代码差不多只类型不确定的地方,通常喜欢用泛型或者反射来做,有人说用多了负担太大不好,什么样的程度算多呢class FormsManager
{
private FormMain _formMain;
private FormAbout _formAbout;
Public static void LoadWindows()
{
if (_frmMain == null)
{
_frmMain = new FrmMain();
_frmMain.Name = _frmMain.GetType().Name;
LoadWindows(_frmMain);
}
if (_frmAbout == null)
{
_frmAbout = new FrmAbout();
_frmAbout.Name = _frmAbout.GetType().Name;
LoadWindows(_frmAbout);
}
}
public static void LoadWindows(FormBase form){}
}
{
private FormMain _formMain;
private FormAbout _formAbout;
Public static void LoadWindows()
{
if (_frmMain == null)
{
_frmMain = new FrmMain();
_frmMain.Name = _frmMain.GetType().Name;
LoadWindows(_frmMain);
}
if (_frmAbout == null)
{
_frmAbout = new FrmAbout();
_frmAbout.Name = _frmAbout.GetType().Name;
LoadWindows(_frmAbout);
}
}
public static void LoadWindows(FormBase form){}
}
这样的话 接口 create 返回 FormBase;然后FormBase 虚方法实现接口?
2.class Form1:FormsManager
3.Form1 frm=new Form1();