這篇文章只是簡略的介紹Activator的應用,如果想更了解反射(Reflection),請看這位大大寫的文章:
點我
以下開始示範
使用Type來動態創建物件:
using System;
namespace TestReflc
{
class Program
{
static void Main(string[] args)
{
CreatePeopleByType();
Console.ReadLine();
}
static void CreatePeopleByType()
{
Type a = typeof(People);
// 動態創建物件,並且調用默認無參數的建構子(構造方法)
// 如果沒有定義無參數的建構子,那麼將出錯
var obj = Activator.CreateInstance(a);
// 輸出結果: PeoPle construction
}
}
public class People
{
public string Name;
public People()
{
Console.WriteLine("PeoPle construction");
}
}
}
a