RuntimeBinderException
메소드를 사용하여 첫 번째 요소에 액세스하십시오.
이 비정상적인 행동을 이해하려면 확장 방법의 기본 메커니즘을 이해해야합니다. 비정형 코드에서 컴파일러는 알려진 모든 클래스의 확장 방법과 일치하는 정적 클래스를 검색합니다. 이 검색은 중첩 시퀀스를 따르고 사용 가능한
지침을 사용합니다.
동적 확장 방법이 호출되면 DLR (Dynamic Language)이 실행되어 도전에 직면합니다. 런타임 동안 소스 코드의 이름 지정 공간 중첩 및 First()
지침을 결정해야합니다. 그러나이 정보를 통화 사이트에 인코딩하는 편리한 메커니즘은 없습니다. 이 메커니즘을 설계 할 가능성을 고려했지만 마침내 비용이 너무 높고 위험이 너무 높았다 고 믿어졌습니다.
<code class="language-csharp">List<int> list = new List<int>() { 5, 56, 2, 4, 63, 2 }; Console.WriteLine(list.First());</code>
위 내용은 동적 확장 메소드가 C#에서 런타임 BinderExceptions를 던지는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!