public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
myClass instance1 = new myClass();
myClass instance2 = new myClass();
FieldInfo[] fields = typeof(myClass).GetFields();
foreach (FieldInfo field in fields) if (field.GetValue(instance2) == field.GetValue(instance1)) Text = "Yes";
}
}
class myClass
{
public bool b = false;
public int i = 2;
}
永不返回「是」。如何比較FieldInfo的實例值?
編輯:沒有事先知道什麼類型將是。所以我不能有:(bool)field.GetValue(instance1)
。
+1感謝。但我不明白你對靜態方法的評論。你的意思,而不是'field.GetValue(instance2).Equals(field.GetValue(instance1))'? – ispiro 2012-02-13 23:31:52
@ispiro:是的 - 如果'field.GetValue(instance2)'返回null,那麼會拋出'NullReferenceException',而靜態方法則不會。 – 2012-02-13 23:33:53
Thanks。 – ispiro 2012-02-13 23:35:26