C#之反射动态获取类中成员

初始接触反射概念,往下看。

先建一个类User

代码
namespace ClassLibrary1
{
public class User
{
private int userid = 1;
/// <summary>
///
/// </summary>
public int Userid
{
get { return userid; }
set { userid = value; }
}



private string userName = "jghg";
/// <summary>
///
/// </summary>
public string UserName
{
get { return userName; }
set { userName = value; }
}
private string address = "ghjghj";
/// <summary>
///
/// </summary>
public string Address
{
get { return address; }
set { address = value; }
}
private string email = "jhgjhg";
/// <summary>
///
/// </summary>
public string Email
{
get { return email; }
set { email = value; }
}
private string phone = "ghjgjg";
/// <summary>
///
/// </summary>
public string Phone
{
get { return phone; }
set { phone = value; }
}
}
}
接着在主程序中获取类的属性,看代码

代码
namespace ConsoleApplication2
{
class Program
{

static void Main(string[] args)
{

Type type
= typeof(ClassLibrary1.User);
object obj = Activator.CreateInstance(type);

PropertyInfo[] props
= type.GetProperties(BindingFlags.Public | BindingFlags.Instance);
foreach (PropertyInfo p in props)
{
Console.WriteLine(p.Name);

}
Console.ReadLine();
}
}
}
分析:

Type type = typeof(ClassLibrary1.User); //把类转换成Type类型

PropertyInfo[] props = type.GetProperties(BindingFlags.Public | BindingFlags.Instance); //获取类中属性

foreach (PropertyInfo p in props)  //遍历
{
Console.WriteLine(p.Name);

  }

posted @ 2010-11-08 14:16  々蕞嗳の﹎  阅读(1736)  评论(0编辑  收藏  举报