2017-12-23 7 views
-1

をループ:私はこのコードを持っている動的クラスで

public class TABLE01 
{ 
    public string FIELD1 { get; set; } 
    public string FIELD2 { get; set; } 
} 
... 
// fieldlist: 
List<string> fieldsTABLE01 = new List<string>(); 
fieldsTABLE01.Add("FIELD1"); 
fieldsTABLE01.Add("FIELD2"); 

//response type List: 
lResponseLegacy.Clear(); 
lResponseLegacy = DataExtract(fieldsTABLE01); 

List<ClassDefinitions.TABLE01> listDataTableTABLE01 = new List<ClassDefinitions.TABLE01>(); 
foreach (string linea in lResponseLegacy) 
{ 
    ClassDefinitions.TABLE01 tableTABLE01 = new ClassDefinitions.TABLE01(); 
    tableTABLE01.table01FIELD1 = ClassPackSupport.GetStringBetween(linea, "<FIELD1>", "</FIELD1>"); 
    tableTABLE01.table01FIELD2 = ClassPackSupport.GetStringBetween(linea, "<FIELD2>", "</FIELD2>"); 
    listDataTableTABLE01.Add(tableTABLE01); 
} 
classRespuestaDataclassModelo.tableTABLE01 = listDataTableTABLE01; 

を、私は自分のフィールドを持つfieldsTABLE01のような他のテーブルに同じ前のコードを使用する必要があります。また、前のコードでは、クラスの動的定義(ClassDefinitions.TABLE01)からリストを作成し、これらのクラスの独自のフィールドをループスルーする必要があります。言い換えれば

、私は他のクラスのために(多分法上の)同じコードを使用する必要があります。

public class TABLE02 
{ 
    public string FIELD3 { get; set; } 
    public string FIELD4 { get; set; } 
    public string FIELD9 { get; set; } 
} 


public class TABLE03 
{ 
    public string FIELD5 { get; set; } 
    public string FIELD6 { get; set; } 
} 


public class TABLE04 
{ 
    public string FIELD7 { get; set; } 
    public string FIELD8 { get; set; } 
    public string FIELD14 { get; set; } 
    public string FIELD15 { get; set; } 
} 

してください、あなたは私にいくつかのヒントを与えていますか?

ありがとうございました。

+1

のようにリフレクションを使用することができますが、[反射](https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/reflection)について知っていますか?ここで役に立つと思う。 – cloudikka

答えて

0

あなたはとても

//Get a classes properties, you can do this with many classes. 
var yourClassProperties = typeof(YourClass).GetProperties(); 

//And down the line: 

fieldsTABLE01 = fieldsTABLE01.Concat(yourClassProperties).ToList(); 
+0

私のクラスが参照(classdefinitions.dll)上にある場合、classdefinitions.dllのすべてのクラスをどのようにループすることができますか? – Gabms

+0

アセンブリ情報を得ることができるので、パブリッククラスでもあります – rokkerboci

関連する問題