C# Activator的用法


需要動態的創建一個實例模型的時候,就用Activator.CreateInstance(Type type);如果是明確的知道要創建哪個實例的模型,就可以用 new

C#在類工廠中動態創建類的實例,所使用的方法為:

1. Activator.CreateInstance (Type)

2. Activator.CreateInstance (Type, Object[])

兩種方法區別僅為:創建無參數的構造方法和創建有參數的構造函數。

private Form LoadMdiChild(Type formclass)
        {
            Form nForm = null;
            foreach (Form frm in this.MdiChildren)
            {
                if (frm.GetType() == formclass)
                {
                    nForm = frm;
                    break;
                }
            }
            if (nForm == null)
            {
                nForm = (Form)(Activator.CreateInstance(formclass,this));
                //nForm.Owner = this;
                nForm.MdiParent = this;
                nForm.Left = 0;
                nForm.Top = 0;
                nForm.Dock = System.Windows.Forms.DockStyle.Fill;
                nForm.FormBorderStyle = FormBorderStyle.None;
                nForm.MaximizeBox = false;
                nForm.MinimizeBox = false;
                nForm.ControlBox = false;
            }
            return nForm;
        }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM