C# Activator.CreateInstance 动态创建类的实例(二)
2016-09-01 20:46
330 查看
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 动态创建类的实例(一)
- 【转载】反射之实例创建ConstructorInfo.Invoke 对比 Activator.CreateInstance
- 【经典实例】利用C#反射动态编译代码,创建类的实例,并调用其成员
- [转载内容]动态创建菜单,menustrip,根据权限显示菜单,控制菜单可用,反射,给窗体传值,反射对象传值,public static Object CreateInstance ( Type type, params Object[] args )
- (转) C# Activator.CreateInstance()方法使用
- C#动态创建类实例并调用
- [C#基础]用反射、泛型读取xml后动态创建实例并赋值
- 在C# 编程中通过类名动态创建实例
- C#的Activator.CreateInstance方法
- C#动态程序集的加载、创建实例、序列化与反序列化
- C# Activator.CreateInstance()方法使用
- Activator.CreateInstance 方法创建对象和Expression Tree创建对象性能的比较(构造函数含多参数的情况)
- [c#美味] 使用反射动态创建实例并调用方法
- C# Activator.CreateInstance()
- 动态创建菜单,menustrip,根据权限显示菜单,控制菜单可用,反射,给窗体传值,反射对象传值,public static Object CreateInstance ( Type type, params Object[] args )
- Activator.CreateInstance(Type type)方法创建对象和Expression Tree创建对象性能的比较(终结版)
- C#动态程序集的加载、创建实例、序列化与反序列化
- 再谈Activator.CreateInstance(Type type)方法创建对象和Expression Tree创建对象性能的比较(更新版)
- C#动态链接库创建和使用实例
- C# Activator.CreateInstance()方法