2017-12-23 12 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