더북(TheBook)

13.6.3 IL 수준에서의 유사 참조 구조체

유사 참조 구조체는 System.Runtime.CompilerServices 네임스페이스 내에 정의되어 있는 [IsRefLikeAttribute] 특성을 이용한다. 만약 사용하는 프레임워크가 이 특성을 제공하지 않는다면 사용자 어셈블리 내에 해당 특성이 추가된다.

in 매개변수와 달리, 컴파일러가 유사 참조 구조체를 컴파일할 때는 개발 도구가 이 타입에 대해서 인지할 수 있도록 도와주는 modreq 한정자를 사용하지 않는다. 대신 임의의 고정된 메시지와 함께 [ObsoleteAttribute] 특성을 추가한다. 이제 [IsRefLikeAttribute] 특성을 이해하고 있는 컴파일러는 [ObsoleteAttribute]가 상호 약속된 고정된 메시지와 함께 사용된 경우 [ObsoleteAttribute] 특성을 무시한다. 만약 해당 타입을 실제로 쓸모없는(obsolete) 타입으로 선언하고 싶다면, 그냥 [ObsoleteAttribute] 특성을 지정하기만 하면 된다. 이 경우 컴파일러가 이 타입을 쓸모없는 타입으로 간주한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.