C#/C# 문법 범범조조 2021. 12. 16. 21:55
소개 안녕하세요. 오늘은 C# 문법에서 Reflection 문법을 이용하여 Class 객체의 값과 속성을 추출하여 출력하는 방법에 대해서 알려 드리려고 합니다. 또한, Class 속성의 List와 같은 컬렉션 속성이 있을 경우에도 Reflection 을 이용하여 속성의 값을 출력하는 방법까지 예제 코드를 통해서 알려 드리겠습니다. 예제 코드 예제 코드는 Student, School 2개의 클래스를 우선 생성하였습니다. 학생, 학교 객체를 하나씩 생성하고, PrintPropertyInfo 제네릭 메서드를 만들어서 각 Class 의 객체의 값과 속성을 출력하도록 코드를 작성하였습니다. 또한, Student 클래스 안에는 List 컬렉션 객체 friends 라고 해서 학생의 친구 목록을 저장하고 있는 컬렉션 ..
더 읽기
C#/C# 문법 범범조조 2021. 12. 16. 20:59
XML, JSON, MessagePack 벤치마크 성능 비교 XML, JSON, MessagePack 각각 직렬화, 역직렬화 테스트 코드를 작성하고 벤치마크 성능 비교를 진행하였습니다. 벤치마크 성능 체크는 BenchMarkDotNet 누겟을 이용하였습니다. 벤치마크는 각각 1번, 100번, 10000번 반복하여 성능 체크하였습니다. XML, JSON, MessagePack 직렬화 벤치마크 예제 코드 using BenchmarkDotNet.Attributes; using BenchmarkDotNet.Running; using MessagePack; using System; using System.IO; using System.Text; using System.Text.Json; using System.X..
C#/C# 문법 범범조조 2021. 12. 16. 19:32
MessagePack ObservableCollection 직렬화, 역직렬화 하기 MessagePack에서 Observable Collection 타입과 Class List 타입의 Collection 객체를 직렬화, 역직렬화 가능 여부에 대해서 테스트 진행합니다. Student, User 클래스를 생성합니다. Student 클래스의 속성에는 기본 타입의 속성들과, ObservalbeCollection 타입의 속성과, List 클래스 리스트 속성들을 포함하고 있습니다. Student 객체를 생성하여 직렬화, 역직렬화 테스트 진행합니다. 예제 코드 using MessagePack; using System; using System.Collections.Generic; using System.Collection..