C#通过反射修改私有变量的值

代码
 class Program
    {
        
static void Main(string[] args)
        {
            Person p 
= new Person();
            Console.WriteLine(p.Name);
            var a 
= p.GetType().GetField("_name"
                BindingFlags.Instance 
| BindingFlags.GetField | BindingFlags.NonPublic | BindingFlags.ExactBinding);
            a.SetValue(p, 
"ghy");
            Console.WriteLine(p.Name);
        }
    }

    
public class Person
    {
        
private string _name = "Henley";

        
public string Name { getprivate set; }
    }

 

posted @ 2010-07-26 12:37  Rain520  阅读(3968)  评论(0编辑  收藏  举报