2016年5月16日 星期一

[C#]使用Activator動態創建物件

這篇文章只是簡略的介紹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

沒有留言:

張貼留言