반응형

C# 리플렉션 2

Part 1-7-8. 기타 문법 : Reflection(리플렉션) + Attribute

Reflection(리플렉션) 리플렉션을 사용하면 X-Ray 찍는 것과 같이 객체의 이름, 모든 멤버, 이벤트 목록 등등 객체의 세세한 정보들까지 객체의 모든 정보를 런타임 중에 가져와 분석하고 사용할 수 있다. C++엔 없고 C#에만 있는 기능이다. 그래서 C#을 사용하는 유니티에선 실행 중에도 멤버에 무엇이 있는지를 체크하고 이에 접근할 수 있는 UI를 열어 주는 등등 C#의 리플렉션 기능을 활용한다. 언리얼은 리플렉션 기능이 없는 C++을 사용하기 때문에 리플렉션을 모방하는 방식으로 리플렉션을 위한 매크로 함수를 멤버나 함수 등등에 붙이고 이 정보를 가지고 파싱하고 따로 기록하여 리플렉션 하는 방식을 취한다고 한다. .NET Reflection은 .NET 객체의 클래스 타입, 메서드, 프로퍼티 등의..

리플렉션(Reflection)이란?

1. 리플렉션이란? C#에서 리플렉션은 런타임에 프로그램이 자체 구조를 검사하고 조작할 수 있는 강력한 기능입니다. 리플렉션은 어셈블리의 유형, 클래스, 메서드, 속성 및 기타 멤버에 대한 메타데이터를 얻고 해당 메타데이터를 기반으로 동적 작업을 수행할 수 있는 방법을 제공합니다. 2. 리플렉션의 특징 메타데이터 액세스: 리플렉션을 사용하면 런타임에 프로그램의 유형 및 멤버에 대한 메타데이터 정보에 액세스할 수 있습니다. 메타데이터에는 클래스 이름, 메서드 서명, 속성 이름, 속성 정보 등과 같은 세부 정보가 포함됩니다. 유형 검색: 리플렉션을 사용하면 어셈블리 내에서 유형을 동적으로 검색하고 분석할 수 있습니다. 클래스, 인터페이스, 구조체, 열거형 및 해당 멤버(메서드, 속성, 필드, 이벤트 등)에 ..

공부/C# 2023.06.10
반응형