初始接触反射概念,往下看。
先建一个类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; }
}
}
}
{
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();
}
}
}
{
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);
}