需要動態的創建一個實例模型的時候,就用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; }