2012-01-05 10 views
2

3つの文字列オブジェクトを持つ構造体 "xyz"があります。 "foo" "bar"と "abc"構造を繰り返してオブジェクトの名前を比較したい。VB.NET構造体のオブジェクトを反復する

Structure xyz 
    dim foo as string 
    dim bar as string 
    dim abc as string 
End Structure 

疑似:

​​

これは可能ですか?

+3

これは可能ですが、ごくまれに(!!!)お勧めです。むしろ、それは通常デザインの欠陥です。最適なアドバイスを提供できるように、なぜそれが必要なのか教えてください。 –

+0

...書かれたように、確かに。あなたの構造はオブジェクトの集合ですか?すべてのオブジェクトに 'N​​ame'プロパティがありますか? –

+0

@ Konrad Rudolph私は約50の文字列を持つ構造を持っていますが、その名前はデータテーブルの列キャプションに対応しています。私はそれぞれの列の値を構造体の文字列に結合する必要がある関数にdatarowを送ります。これについてもっと良い方法がありますか? Jeremy Holovacsいいえ、それは弦のコレクションです – Theveloper

答えて

1

これはほんの一瞬のことですが、おそらく辞書を使用するほうが簡単ですが、構造を維持したい場合はReflectionでこれを行うことができます。

この小さなコードスニペットでは、StringBuilderの各構造メンバーがリストされます。

Dim sbOutput As New System.Text.StringBuilder 
Dim t As Type = GetType(xyz) 
For Each p As System.Reflection.FieldInfo In t.GetFields() 
    sbOutput.AppendLine(p.Name) 
Next 
関連する問題