C# 反射初次使用,实现根据字符串找到一个类中变量名和该字符串相同的变量

利用C#的反射,实现根据一个字符串,找到某个类中变量名和该字符串相同的变量,并且给其赋值,该功能可能回应用于读取表格时,等:

1、根据字符串找到类里面的变量

找到FieldTest类中,名为name的变量

 FieldTest fieldTest = new FieldTest();
System.Reflection.FieldInfo fieldInfo = fieldTest.GetType().GetField("name");

给name变量赋值:

 fieldInfo.SetValue(fieldTest, "亚里士多德");

2、下面是完整代码:

using UnityEngine;

public class Test : MonoBehaviour
{
    void Start()
    {
        FieldTest fieldTest = new FieldTest();

        System.Reflection.FieldInfo fieldInfo = fieldTest.GetType().GetField("name");
        fieldInfo.SetValue(fieldTest, "亚里士多德");

        fieldInfo = fieldTest.GetType().GetField("age");
        fieldInfo.SetValue(fieldTest, 123);

        print(string.Format("{0}的年龄有{1}岁了。", fieldTest.name, fieldTest.age));
    }    
}

public class FieldTest
{
    public string name;
    public int age;
}

发布了14 篇原创文章 · 获赞 0 · 访问量 410

猜你喜欢

转载自blog.csdn.net/a0_67/article/details/105277106
今日推荐