public class Love
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
public int field1;
private string _name;
![](/Images/OutliningIndicators/InBlock.gif)
public Love()
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](/Images/OutliningIndicators/InBlock.gif)
}
![](/Images/OutliningIndicators/InBlock.gif)
public string Name
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
get
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
return _name;
}
![](/Images/OutliningIndicators/InBlock.gif)
set
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
_name = value;
}
}
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
public int GetInt(int a)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
return a;
}
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
public void Display(string str)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
System.Windows.Forms.MessageBox.Show(str);
}
![](/Images/OutliningIndicators/InBlock.gif)
}
测试代码:
private void test()
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
Love love = new Love();
Type type = love.GetType();
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
type.InvokeMember("Display", BindingFlags.InvokeMethod | BindingFlags.Public | BindingFlags.Instance, null, love, new object[]
{ "aldfjdlf" });
![](/Images/OutliningIndicators/InBlock.gif)
//调用有返回值的方法
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
int i = (int)type.InvokeMember("GetInt", BindingFlags.InvokeMethod | BindingFlags.Public | BindingFlags.Instance, null, love, new object[]
{ 1 });
MessageBox.Show(i.ToString());
![](/Images/OutliningIndicators/InBlock.gif)
//设置属性值
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
type.InvokeMember("Name", BindingFlags.SetProperty, null, love, new string[]
{ "abc" });
![](/Images/OutliningIndicators/InBlock.gif)
//获取属性值
string str = (string)type.InvokeMember("Name", BindingFlags.GetProperty, null, love, null);
MessageBox.Show(str);
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
//设置字段值
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
type.InvokeMember("field1", BindingFlags.SetField, null, love, new object[]
{ 444 });
![](/Images/OutliningIndicators/InBlock.gif)
//获取公有字段值
int f = (int)type.InvokeMember("field1", BindingFlags.GetField, null, love, null);
MessageBox.Show(f.ToString());
![](/Images/OutliningIndicators/InBlock.gif)
//获取私有字段值
string name = (string)type.InvokeMember("_name", BindingFlags.GetField | BindingFlags.NonPublic |BindingFlags.Instance, null, love, null);
MessageBox.Show(name);
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
}