methodimplattribute는 .NET에서 어떻게 작동합니까?
-
06-07-2019 - |
문제
나는 일부 프레임 워크 코드 (System.appdomain.getDynamicDir 메소드)를 조사하고 있었고 이것은 모든 어셈블러가 보여준 모든 것입니다.
[MethodImpl(MethodImplOptions.InternalCall)]
private extern string GetDynamicDir();
이 방법이 호출되면 어떻게됩니까? 나는이 특정 방법을 의미하는 것이 아니라 일반적 으로이 속성을 가진 방법을 의미합니다.
해결책
에서 MSDN:
MethodimPloptions.internalCall: 내부 통화를 지정합니다. 내부 통화는 공통 언어 런타임 자체 내에서 구현되는 메소드에 대한 호출입니다.
따라서 기본적으로 CLR은이 방법의 자체 구현 (아마도 기본 코드)을 제공하므로 분리기에서 볼 수 없습니다.
다른 팁
대답 여기 :
(...)
MethodImplOptions.InternalCall
런타임을 알리기 위해 외부와 함께 사용됩니다. 메소드가 시스템 자체 내에서 내부적으로 구현됨을 알리십시오. 이는 관리되지 않는 코드로 구현하여 더 잘 제공되는 Core .NET Framework 메소드에 대해 수행됩니다. 예를 들어, 많은 방법이String
,GC
, 및 수학 수업은 다음과 같이 표시됩니다InternalCall
. 알았 듯이Guid.CompleteGuid
또한InternalCall
.
제휴하지 않습니다 StackOverflow