2012-07-31 2 views
4

googleing 때 스택 오버플로 에서이 질문을 찾을 수 있지만 삭제되었습니다. 그래서 나는이 질문을 다시 열거한다.ParameterInfo.IsLcid 또는 ParameterInfo.IsRetval은 언제 true입니까?

BCL에서 LcidAttribute 또는 RetvalAttribute을 찾을 수 없기 때문에 C#은 로캘 식별자 매개 변수 및 반환 값 매개 변수에 대한 지원을 제공하지 않았습니다.

그게 뭡니까?

감사합니다.

답변

4

이들은 ParameterAttributes enumeration과 관련이 있습니다. 메쏘드의 매개 변수에 메타 데이터에서 사용되는 것은 컴파일러 만이 [modopt]를 낼 수 있습니다.

실제로이 작업을 수행하는 컴파일러에 대해 알지 못합니다. 나는 백그라운드에서 괜찮은 추측을 가지고 있지만, 이러한 속성은 또한 IDL에서 사용됩니다. COM 및 RPC에서 사용되는 인터페이스 설명 언어입니다. 이 옵션을 사용하면 .NET 메타 데이터가 IDL로 작성되고 유형 라이브러리에 나타날 수있는 선언의 종류를 설명 할 수 있습니다.

[lcid] 속성은 described here입니다. 그것은 실제로 사용법을 설명하지 않으며 나는 결코 그것을 사용하지 않았다. 왜 당신이 그것을 사용하는지 전혀 모릅니다.

[retval] 속성은 described here입니다. COM 자동화 메서드 선언에서 매우 중요하며 메서드 값을 반환하는 매개 변수를 표시합니다. Tlbimp.exe와 같은 도구에서 사용하면 해당 매개 변수를 반환 값 형식으로 만드는 메서드를 다시 작성합니다.

관련 문제