C#如何利用反射,将字符串转化为类名并调用类
1个回答
展开全部
首先,先随便创建一个测试类
<span style="font-family:Microsoft YaHei;font-size:18px;">public class ABC
{
public void test1()
{
Debug.Log("test111");
}
public void test2()
{
Debug.Log("test2222");
}
}</span>
下面是利用反射技术,将字符串转化为类名并遍历类中所有方法(我是在Unity中进行测试的,在C#其他项目中调用也是一样的)
<span style="font-family:Microsoft YaHei;font-size:18px;">public class NewBehaviourScript : MonoBehaviour {
// Use this for initialization
void Start () {
string aa = "ABC";</span>
<span style="font-family:Microsoft YaHei;font-size:18px;"> Type t;
t = Type.GetType(aa);
var obj = t.Assembly.CreateInstance(aa);
<span style="white-space:pre"> </span>//var obj = System.Activator.CreateInstance(t);
<span style="font-family:Microsoft YaHei;font-size:18px;">public class ABC
{
public void test1()
{
Debug.Log("test111");
}
public void test2()
{
Debug.Log("test2222");
}
}</span>
下面是利用反射技术,将字符串转化为类名并遍历类中所有方法(我是在Unity中进行测试的,在C#其他项目中调用也是一样的)
<span style="font-family:Microsoft YaHei;font-size:18px;">public class NewBehaviourScript : MonoBehaviour {
// Use this for initialization
void Start () {
string aa = "ABC";</span>
<span style="font-family:Microsoft YaHei;font-size:18px;"> Type t;
t = Type.GetType(aa);
var obj = t.Assembly.CreateInstance(aa);
<span style="white-space:pre"> </span>//var obj = System.Activator.CreateInstance(t);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询