1.主窗体下的代码
namespace TestReflection
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
/// <summary>
/// 赋值属性
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void simpleButton1_Click(object sender, EventArgs e)
{
Attribute.School = "金陵中学";
Attribute.Class = "高一6班";
Attribute.Name = "奚学长";
Attribute.Sex = "男";
Attribute.Age = "17";
}
/// <summary>
/// 显示属性
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void simpleButton2_Click(object sender, EventArgs e)
{
List<string> listAttribute = new List<string> { "School", "Class", "Name", "Sex", "Age" };
try
{
foreach (string item in listAttribute)
{
listBoxControl1.Items.Add(ShowAttribute(item));
}
}
catch
{
}
}
/// <summary>
/// 传入属性名 来获取属性
/// </summary>
/// <param name="Name">属性名</param>
/// <returns></returns>
private string ShowAttribute(string Name)
{
try
{
typeof(类名)
Type type = typeof(Attribute);
根据属性名,获取类下的属性
PropertyInfo p = type.GetProperty(Name);
获得属性值
object obj = p.GetValue(null, null);
if (obj != null)
{
return obj.ToString();
}
else
{
return "Null";
}
}
catch
{
return "Null";
}
}
}
}
2.属性
namespace TestReflection
{
class Attribute
{
public static string School
{
get;
set;
}
public static string Class
{
get;
set;
}
public static string Name
{
get;
set;
}
public static string Sex
{
get;
set;
}
public static string Age
{
get;
set;
}
}
}
3.运行结果