[C#]通过反射动态创建对象

2021-01-26 18:13

阅读:390

标签:on()   exe   private   int   tar   小明   cti   通过   动态创建   

参考链接:

https://www.cnblogs.com/codejgq/articles/10163584.html

http://www.360doc.com/content/18/0524/09/51449331_756581126.shtml

https://www.cnblogs.com/soundcode/p/10722863.html

 

代码如下:

 1 using System;
 2 using System.Reflection;
 3 using UnityEngine;
 4 
 5 public class Person
 6 {
 7     private string name;
 8     private int age;
 9 
10     public Person()
11     {
12     }
13 
14     public Person(string name, int age)
15     {
16         this.name = name;
17         this.age = age;
18     }
19 
20     public void PrintInfo()
21     {
22         Debug.Log(string.Format("name: {0} age: {1}", name, age));
23     }
24 }
25 
26 public class TestReflection : MonoBehaviour
27 {
28     void Start()
29     {
30         Type type = typeof(Person);
31 
32         //无参
33         Person p1 = Activator.CreateInstance(type) as Person;
34         p1.PrintInfo();
35 
36         //有参
37         Person p2 = Activator.CreateInstance(type, new object[] { "小明", 30}) as Person;
38         p2.PrintInfo();
39 
40         //程序集
41         Type type2 = Assembly.GetExecutingAssembly().GetType("Person");
42         Person p3 = Activator.CreateInstance(type2, new object[] { "小张", 50 }) as Person;
43         p3.PrintInfo();
44     }
45 }

 

输出:

技术图片

[C#]通过反射动态创建对象

标签:on()   exe   private   int   tar   小明   cti   通过   动态创建   

原文地址:https://www.cnblogs.com/lyh916/p/11967343.html


评论


亲,登录后才可以留言!