首页 > 代码库 > 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 动态创建类的实例(二)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。