확장 메소드 및
키워드 C#dynamic
이 코드는 완벽하게 작동합니다. 그러나 우리가 이것을 시도한다면 :
dynamic
a
<code class="language-csharp">List<int> list = new List<int>() { 5, 56, 2, 4, 63, 2 }; Console.WriteLine(list.First());</code>지시를 고려하여 코드 범위 내에서 사용 가능한 모든 정적 클래스를 검사하여 확장 방법을 검색합니다. 이를 통해
에서 올바른
확장 방법을 찾을 수 있습니다.<code class="language-csharp">dynamic dList = list; Console.WriteLine(dList.First());</code>객체를 사용하여 런타임에는 네임 스페이스 및 지시에 대한이 컴파일 타임 정보가 없습니다. 런타임 에이 정보를 포함시키는 것은 엄청나게 복잡하고 비효율적입니다. 따라서 C# 디자이너는 성능 오버 헤드와 잠재적 불안정성을 피하기 위해이 기능을 구현하지 않기로 선택했습니다.
위 내용은 C#의 동적 개체에서 확장 메서드가 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!