public class Employee
{
private string name;
private int id;
public string Name
{
get { return name; }
set { name = value; }
}
public int ID
{
get { return id; }
set { id = value; }
}
}
protected void Test3()
{
Type myType = typeof(Employee);
FieldInfo[] fi = myType.GetFields(BindingFlags.NonPublic | BindingFlags.Instance);
foreach (var r in fi)
{
MemberTypes mymembertyps = r.MemberType;
//我能找到这个r 对应的属性么?
}
PropertyInfo[] pi = myType.GetProperties(BindingFlags.Public | BindingFlags.Instance);
}我们知道通过GetFields可以找到这个类的所有字段,通过GetProperties可以找到这个类的所有属性。
现在的问题是这样的,比如我在遍历字段集合的时候,能不能找到当前这个字段对应的属性?
或者遍历属性集合的时候,能不能找到当前属性对应的字段?
三思而后答。
解决方案 »
- GridView“gv”激发了未处理的事件“RowUpdating”。但是我定义了事件啊,求高手指点
- 哪位朋友能提供一个datagrid打印的类或脚本,要vb.net的!
- 有一个日期格式的值如何换成另一种格式
- HttpContext.Current.Session与Page.Session的区别
- 请js牛人进来指点一下。崩溃了????????帮解决问题呀,老大。兄弟要不行了
- asp.net如何修改目录名称
- datagrid三层嵌套的问题
- 怎样锁定checkboxlist组件的高度,自动实现滚动条?(高手进...思归呢?)
- 有关《ASP.NET网页制作教程》(简体版)-王国荣 ,这本书怎么样?
- MVC5自动装配时提示(没有给该对象定义无参数的构造函数)?
- 从数据库读取二进制文件,怎么实现将word,pdf在浏览器直接打开
- Response Headers, Content-Length被Transfer-Encoding:chunked替换的问题
{
//MemberTypes mymembertyps = r.MemberType;
Response.Write(r.Name + "<br />");//字段对应的属性
}
PropertyInfo[] pi = myType.GetProperties(BindingFlags.Public | BindingFlags.Instance);
foreach (PropertyInfo o in pi)
{
Response.Write(o.Name + "<br />");//属性对应的字段
}
public class Customer
{
private string name;
public string Name
{
get { return name; }
set
{
if(string.IsNullOrEmpty(name))throw new ArgumentException("Name cannot be blank","Name");
name = value;
}
}
}
{
public int ID { get; set; }
private string firstName;
private string lastName;
public string Name
{
get { return firstName + " " + lastName; }
set { firstName = (value + " ").Split(' ')[0]; lastName = (value + " ").Split(' ')[1]; }
}
public string Profile
{
get
{
DbContext db = new DbContext();
return db.Users.SingleOrDefault(x => x.ID == ID).Profile;
}
}
public int RandomNumber { get { return new Random().Next(0, 100); } set { } }
}请你告诉我,这些属性的后备字段是什么?