Activator.CreateInstance 方法 (Type)
使用與指定參數匹配程度最高的構造函數來創建指定類型的實例。
命名空間:System
程序集:mscorlib(在 mscorlib.dll 中)
public static Object CreateInstance (Type type)
Activator.CreateInstance 泛型方法 ()
注意:此方法在 .NET Framework 2.0 版中是新增的。
創建類型的一個實例,該類型由指定的泛型類型參數指定。
命名空間:System
程序集:mscorlib(在 mscorlib.dll 中)
public static T CreateInstance<T> ()
Activator.CreateInstance
(Type)實例
輸入一個類的名稱為參數,返回一個相應的類的實例。
這在工廠模式中是非常有用的,這樣,可以使程序有更高的擴展性
/**//* * Created by SharpDevelop. * User: 19004991 * Date: 2009-8-6 * Time: 9:10 */ using System; namespace ActivatorCreateInstance { public interface IObject { void printName(); } public class ClassExam : IObject { private string name="default name"; public ClassExam() { } public ClassExam(string name) { this.name = name; } public void printName() { Console .WriteLine (this.name ); } } public class Program { public Program() { } public static void Main(string[] args) { // TODO: Implement Functionality Here IObject obj1=(IObject)Activator.CreateInstance(System.Type.GetType ("ActivatorCreateInstance.ClassExam")); obj1.printName(); IObject obj2=(IObject)Activator.CreateInstance(System.Type.GetType("ActivatorCreateInstance.ClassExam"),new string[]{"seted new name"}); obj2.printName(); Console.Write("Press any key to continue . . . "); Console.ReadKey(true); } } }
網上代碼System.Type.GetType內為"ActivatorCreateInstance.ClassExam,ActivatorExample"編譯失敗