C# 反射的例子

通过字符串变量访问控件

string t = "textbox1";
TextBox tb = (TextBox)this.GetType().GetField(t, System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.IgnoreCase).GetValue(this);
tb.text="成功";

通过字符串变量访问对象属性值

//获取x的类型
Type t = x.GetType();
//通过变量"type"访问x的类型的属性变量typeStr的属性信息(propertyInfo)
System.Reflection.PropertyInfo propertyInfo = t.GetProperty(typeStr);
//通过属性信息,使用对象实例赋值。
propertyInfo.SetValue(x, "成功", null);
                

 

//利用反射。获取并执行传入方法, 
MethodInfo methods = this.GetType().GetMethod(method);
if (methods != null)
{
    methods.Invoke(this, new object[] { });
}

 

posted @ 2019-04-25 16:26  marisen  阅读(281)  评论(0编辑  收藏  举报