日期:2014-05-17  浏览次数:21060 次

一个小问题,很小;
我这个类是程序入口调用皮肤加载给所有窗体加载皮肤的;红色代码部分,假如有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){}
}

------解决方案--------------------
接口啊,继承一个接口,提供create方法,然后想怎么创建就怎么创建
------解决方案--------------------
接口?create 返回值 定义什么呢;FormBase?
这样的话 接口 create 返回 FormBase;然后FormBase 虚方法实现接口?
------解决方案--------------------
不对呀;create肯定要静态的呀...这怎么接口呀
------解决方案--------------------
1.class FormsManager:Form
2.class Form1:FormsManager
3.Form1 frm=new Form1();
------解决方案--------------------
而且静态方法不能重写........这这这.....行不通么;
------解决方案--------------------
引用:
1.class FormsManager:Form
2.class Form1:FormsManager
3.Form1 frm=new Form1();

没看明白