首页 > C# 如何根据变量名动态地对类的相应成员进行操作?

C# 如何根据变量名动态地对类的相应成员进行操作?

听说使用反射机制可以,但具体是怎样的呢?


来看代码吧,反射可以用来设置类的私有成员。

    using System;
    using System.Reflection;

    class Test
    {
        private int _name;

        public int GetName()
        {
            return _name;
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            Test t = new Test();
            Type tt = t.GetType();
            BindingFlags flag =  BindingFlags.NonPublic | BindingFlags.Instance;
            FieldInfo fieldInfo = tt.GetField("_name", flag);
            fieldInfo.SetValue(t, 2);
            Console.WriteLine(t.GetName());
        }
    }
【热门文章】
【热门文章】