志在指尖
用双手敲打未来

C#使用反射访问对象属性方法

usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Threading.Tasks;
usingSystem.ComponentModel;
usingSystem.Linq;
usingSystem.Reflection;
publicclassreflectModel
{
publicstaticvoidTestShowReflect()
{
//反射读取类私有属性
Personper=newPerson(“ismallboy”,”20102100104″);
Typet=per.GetType();
//获取私有方法
MethodInfomethod=t.GetMethod(“GetStuInfo”,BindingFlags.NonPublic|BindingFlags.Instance);
//访问无参数私有方法
stringstrTest=method.Invoke(per,null).ToString();C#使用反射访问对象属性方法
//访问有参数私有方法
MethodInfomethod2=t.GetMethod(“GetValue”,BindingFlags.NonPublic|BindingFlags.Instance);
object[]par=newobject[2];
par[0]=”ismallboy”;
par[1]=2;
stringstrTest2=method2.Invoke(per,par).ToString();
//获取私有字段
PropertyInfofield=t.GetProperty(“Name”,BindingFlags.NonPublic|BindingFlags.Instance);
//访问私有字段值
stringvalue=field.GetValue(per).ToString();
//设置私有字段值
field.SetValue(per,”newName”);
value=field.GetValue(per).ToString();
}
}
///<summary>
///个人信息
///</summary>
classPerson
{
privatestringName{get;set;}
privatestringStuNo{get;set;}
publicPerson(stringname,stringstuNo)
{
this.Name=name;
this.StuNo=stuNo;
}
privatestringGetStuInfo()
{
returnthis.Name;
}
privatestringGetValue(stringstr,intn)
{
returnstr+n.ToString();
}
}
reflectModel

未经允许不得转载:IT技术网站 » C#使用反射访问对象属性方法
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载