-1

したがって、私がやろうとしているのは、x値の配列を反復処理し、反復ごとに、ラベル「plabel」+ xの現在のテキスト値を取得することです(ラベルはすべて既に作成され、名前が付けられています。使用するのは比較的新しいです。リフレクションですが、私が読んだことから、次のように動作するはずです:

PropertyInfo pI;
pI = this.GetType().GetProperty("plabel" + count + ".Text"); //count is the current iteration #
MessageBox.Show(pI.Name);

しかし、これは実行時例外をスローしています。誰かがこれを行う正しい方法を教えてもらえますか?

4

1 に答える 1

2

次のようなことを試してください:

//Gets the label (includes private fields)
FieldInfo fi = this.GetType().GetField("plabel" + count, 
                   BindingFlags.NonPublic | BindingFlags.Instance); 

Label label = fi.GetValue(this) as Label;

if (label != null)
{
    MessageBox.Show(label.Text);
}
于 2012-10-26T19:24:13.133 に答える