익명 메서드가 Var에 할당할 수 없는 이유
다음과 같은 익명 메서드를 만날 때:
delegate(string value) { return value != "0"; }
컴파일러는 다음과 같습니다. 도전에 직면했습니다.
Funccomparer = delegate(string value) { return value != "0"; };
과 같은 형식화된 람다 식과 달리 무명 메서드는 대리자 형식을 명시적으로 지정하지 않습니다. 컴파일러는 메서드의 시그니처를 기반으로 해당 유형을 추론해야 합니다. 그러나 다양한 매개 변수와 반환 값을 사용하여 이러한 조건을 충족하는 무한한 잠재적 대리자 유형이 있습니다.
무명 메서드에 대한 유형을 추론하면 다음과 같은 몇 가지 문제가 발생합니다.
따라서 "암시적으로 유형이 지정된 지역 변수에 익명 메서드를 할당할 수 없습니다."라는 컴파일러 오류로 인해 익명 메서드와 함께 var를 사용할 수 없습니다.
위 내용은 C#에서 'var' 변수에 익명 메서드를 할당할 수 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!