사용자 지정 개체를 반복하고 속성 이름을 먼저 출력 한 다음 값을 출력하는 내보내기 Excel/CSV 함수를 만들려고합니다. 필요한 경우에만 리플렉션을 사용하여 헤더를 출력 한 다음 값을 인쇄하기 위해 다시 사용할 때 속성 이름을 저장하려고합니다.사용자 지정 개체의 속성 이름 및 값을 반복합니다.
이것이 가능합니까? 루프에서 리플렉션을 사용하는 것에 조금 어려움이 있지만 더 좋은 방법이 있습니까?
사이비 코드 : 당신의 의사 코드에서
Dim Cust1 = New Customer("Tom", "123 Main Street")
Dim Cust2 = New Customer("Mike", "456 Main Street")
Dim Cust3 = New Customer("Joe", "789 Main Street")
Dim CustList As New Arraylist()
CustList.Add(Cust1)
CustList.Add(Cust2)
CustList.Add(Cust3)
CSVExport(CustList, New Customer())
Function CSVExport(List As ArrayList, CustomObject as Object) As StringWriter
Dim sw as Stringwriter
dim proplist as arraylist
'output header
Foreach CustProperty as System.Reflection.PropertyInfo CustomObject.GetType().GetProperties()
proplist.add(CustProperty.Name)
sw.write(CustProperty + ",")
EndFor
'output body
'??
'?? Here I'd like to loop through PropList and List instead of using reflection
'??
Return Sw
End Function
이렇게하면 속성 이름과 같은 순서로 값이 반복되도록 할 수 있습니까? – mga911
예, 그렇게 생각합니다. 내가하고있는 프로젝트에서 비슷한 일을하고 있어요. 속성을 전달한 것과 같은 순서로 속성이 반환되었습니다. 내가 말했듯이, 내가 게시 한 코드는 테스트되지 않았으므로 C#으로 작업합니다. 그것이 당신을 위해 일하는 경우 알려주십시오! –