컴퓨터 지식 네트워크 - 컴퓨터 지식 - C#에서 반사 메커니즘이란 무엇입니까?

C#에서 반사 메커니즘이란 무엇입니까?

.Net Framework는 프로그램이 실행 중일 때 어셈블리를 동적으로 획득 및 로드하고 어셈블리 정보를 얻을 수 있는 반사 메커니즘을 제공합니다.

어셈블리에는 모듈(모듈), 모듈에는 유형이 포함되고 유형에는 멤버가 포함되며 리플렉션이 제공됩니다. 어셈블리의 경로, 네임스페이스 및 클래스를 볼 수 있습니다. 또한 조작할 수도 있습니다.

일반적으로 어셈블리를 사용하는 것처럼 어셈블리에서 클래스를 인스턴스화하고 클래스의 메서드 등을 사용할 수 있습니다.

반사 메커니즘은 일반적으로 몇 가지 용도가 있습니다.

어셈블리를 사용하여 어셈블리를 정의 및 로드하고, 어셈블리 매니페스트에 나열된 모듈을 로드하고, 이 어셈블리에서 유형을 찾아 해당 유형의 인스턴스를 만듭니다.

모듈을 사용하여 모듈이 포함된 어셈블리, 모듈의 클래스 등과 같은 정보를 검색합니다. 모듈에 정의된 모든 전역 메서드나 기타 특정 비전역 메서드를 가져올 수도 있습니다.

ConstructorInfo를 사용하여 생성자 이름, 매개변수, 액세스 한정자(예: 공개 또는 비공개), 구현 세부정보(예: 추상 또는 가상) 등과 같은 정보를 검색하세요. 특정 생성자를 호출하려면 Type의 GetConstructors 또는 GetConstructor 메서드를 사용하세요.

MethodInfo를 사용하여 메서드 이름, 반환 유형, 매개변수, 액세스 한정자(예: 공개 또는 비공개), 구현 세부정보(예: 추상 또는 가상)와 같은 정보를 검색합니다. 특정 메서드를 호출하려면 Type의 GetMethods 또는 GetMethod 메서드를 사용하세요.

FieldInfo를 사용하여 필드 이름, 액세스 한정자(예: 공개 또는 비공개), 구현 세부정보(예: 정적)와 같은 정보를 검색하고 필드 값을 가져오거나 설정합니다.

EventInfo를 사용하여 이벤트 이름, 이벤트 핸들러 데이터 유형, 사용자 정의 속성, 선언된 유형, 반사 유형 등의 정보를 검색하고 이벤트 핸들러를 추가하거나 제거합니다.

PropertyInfo를 사용하여 속성 이름, 데이터 유형, 선언 유형, 반사 유형, 읽기 전용 또는 쓰기 가능 상태와 같은 정보를 검색하고 속성 값을 가져오거나 설정합니다.

ParameterInfo를 사용하면 매개변수 이름, 데이터 유형, 매개변수가 입력 매개변수인지 출력 매개변수인지 여부, 메소드 시그니처에서 매개변수 위치 등의 정보를 확인할 수 있습니다.

애플리케이션 도메인의 리플렉션 전용 컨텍스트에서 작업하는 경우 CustomAttributeData를 사용하여 사용자 정의 속성에 대한 정보를 검색하세요. CustomAttributeData를 사용하면 인스턴스를 만들지 않고도 속성을 확인할 수 있습니다.

Microsoft 공식 설명:/library/windows/apps/f7ykdhsy.aspx

上篇: 아이폰12 업데이트 IOs 17 이후 카튼. 下篇: QQ가 온라인일 때 어떻게 iPhone6가 온라인에 표시되지 않을 수 있나요?
관련 내용