比如,实体类:
public class Student
{ public int ID;
public string Name
}
Student entity=new Student();
string fieldName=getFieldName(entity.Name);
我想得到 Name这个名称,不是它的值,应该怎么写呢?(没园豆了,抱歉)
我已经解决了,谢谢各位。
反射可以解决:
User u1 = new User(); PropertyInfo[] ps = u1.GetType().GetProperties(); foreach (PropertyInfo info in ps) { Console.WriteLine(info.Name); } public class User { public string Name { get; set; } public string Address { get; set; } }
我是要传入字段或属性名,来获取它的名字,我不想一个一个遍历,就算遍历了,也是把所有输出来,还不确定遍历到了哪个,刚好是我要的。
@king2003: 我是要传入字段或属性名,来获取它的名字
都知道名字了,还要获取名字????
啊啊
@chenping2008:
哦哦
反射!
Book entity = new Book();
Type type = entity.GetType();
System.Reflection.PropertyInfo[] member = type.GetProperties();
MessageBox.Show(member[0].ToString());
我是要传入字段或属性名,来获取它的名字,我不想一个一个遍历,就算遍历了,也是把所有输出来,还不确定遍历到了哪个,刚好是我要的。
你传入字段或属性名,来获取他的名字,那你干嘛还传入???
确定要传入属性名了,还要获取属性名,为何?
using System; using System.Collections.Generic; using System.IO; using System.Reflection; using System.Text; using System.Threading; using System.Xml; namespace ConsoleApplication3 { class Test { static void Main() { Test t = new Test(); string s = t.GetFP("Address"); Console.WriteLine(s); } public string GetFP(string getfp) { User entity = new User(); PropertyInfo[] pi = entity.GetType().GetProperties(); foreach (PropertyInfo info in pi) { if (info.Name.ToString() == getfp) { return info.Name.ToString(); } } return "No this string"; } } public class User { public string Name { get; set; } public string Address { get; set; } } }
在1楼的基础上改的。
哦哦