使用反射,获取所有属性,然后遍历找值,看哪个属性的值是4,然后输出属性.name。。
class Program
{
static void Main()
{
test mytest = new test();
Type ty = mytest.GetType();
PropertyInfo[] pros = ty.GetProperties();
FieldInfo[] fiel = ty.GetFields( BindingFlags.Instance|BindingFlags.GetField|BindingFlags.NonPublic);
foreach (FieldInfo fil in fiel)
{
//成员变量
if(fil.GetValue(mytest)!=null&&fil.GetValue(mytest).ToString()=="5")
Console.WriteLine(fil.Name);
}
foreach (PropertyInfo p in pros)
{
Console.WriteLine(p.Name);
}
Console.ReadKey();
}
}
class test
{
int testfield = 5;
public string Text
{
get;
set;
}
}
咋觉得这么扯呢。。。
变量就不行了