//下面例子中, ChangeValue类的myValue本是私有字段,
//一般情况下在类外部是不能改它的值的, 但利用反射就能改了
//-----------------------------------------------------
using System;
using System.Reflection;
class ChangeValue
{
private string myValue;
public ChangeValue(string str)
{
myValue = str;
}
public void WriteLine()
{
Console.WriteLine("MyValue is: " + myValue);
}
}
class Test
{
public static void Main(string[] args)
{
ChangeValue cv = new ChangeValue("old value");
cv.WriteLine();
Type t = cv.GetType();
FieldInfo field = t.GetField("myValue",
BindingFlags.NonPublic |BindingFlags.Instance);
field.SetValue(cv, "new value");
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余1页未读,立即下载
- 1
- 2
前往页