首页 > 代码库 > C# Activator.CreateInstance 动态创建类的实例(二)

C# Activator.CreateInstance 动态创建类的实例(二)

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace Kernel.Interface{    public interface IObjcet    {        void Put();        void Put(string plus);    }}
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using Kernel.Interface;namespace Kernel.SimpleLibrary{    public class PlugPut : IObjcet    {        private string plugName = "";        public string PlugName        {            get { return plugName; }            set { plugName = value; }        }        public PlugPut() { }                     public PlugPut(string plusName)         {            this.PlugName = plusName;        }        public void Put()        {            Console.WriteLine("Default plug value is:" + plugName);        }        public void Put(string plus)        {            Console.WriteLine("Put plus value is:" + plus);        }    }}
using Kernel.DriverLibrary;using Kernel.Interface;using Kernel.SimpleLibrary;using System;using System.Collections.Generic;using System.Linq;using System.Reflection;using System.Runtime.Remoting;using System.Text;using System.Threading.Tasks;namespace Kernel.App{    class Program    {        static void Main(string[] args)        {                        #region            //用传递参数来得到一个类的实例            //用Activator .CreateInstance创建默认的不带参数的构造函数            IObjcet obj = (IObjcet)Activator.CreateInstance(
                  System.Type.GetType("Kernel.SimpleLibrary.PlugPut,Kernel.SimpleLibrary"), null); obj.Put(); obj.Put("plug 1"); //System.Type.GetType(命名空间.类名,程序集) //用Activator.CreateInstance创建另一个带参数构造函数实例 IObjcet obj2 = (IObjcet)System.Activator.CreateInstance(
                  System.Type.GetType("Kernel.SimpleLibrary.PlugPut,Kernel.SimpleLibrary"),
                  new string[] { "Hello world!" }); obj2.Put(); obj.Put("plug 2"); #endregion Console.ReadLine(); } }}

 

C# Activator.CreateInstance 动态创建类的实例(二)