C# Activator.CreateInstance 动态创建类的实例
Posted 如若
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# Activator.CreateInstance 动态创建类的实例相关的知识,希望对你有一定的参考价值。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Kernel.SimpleLibrary { public class Person { private string name; public Person(){ } public Person(string name) { this.name = name; } public string Name { get { return this.name; } set { this.name = value; } } public override string ToString() { return this.name; } } }
using System; using System.Reflection; using System.Runtime.Remoting; public class Program { static void Main(string[] args) { //创建在指定程序集中定义的指定类型的新实例 //assemblyName = 命名空间,typeName = 命名空间.类名 ObjectHandle handle = Activator.CreateInstance("Kernel.SimpleLibrary", "Kernel.SimpleLibrary.Person"); Object p = handle.Unwrap(); Type t = p.GetType(); PropertyInfo prop = t.GetProperty("Name"); if (prop != null) prop.SetValue(p, "Hello world!"); MethodInfo method = t.GetMethod("ToString"); Object retVal = method.Invoke(p, null); if (retVal != null) Console.WriteLine(retVal); } }
以上是关于C# Activator.CreateInstance 动态创建类的实例的主要内容,如果未能解决你的问题,请参考以下文章