c# 및 리턴 유형 공분산 : 한계 및 솔루션 이해
C#이 반환 유형 공분산을 지원하지 않는 이유
이 제한은 공통 언어 런타임 (CLR)에서 비롯됩니다. CLR의 아키텍처는 본질적으로 반환 유형 공분산을 지원하지 않으므로 C# 컴파일러가 공분산 시나리오에서 정확한 가상 메소드 통화 시퀀스를 생성하지 못하게합니다.
보호 된 도우미 방법 사용 : 덜 특정 유형을 반환하는 기본 클래스 내에서 보호 된 도우미 방법을 만듭니다. 파생 클래스는이 메소드를 무시하고보다 구체적인 유형을 반환 할 수 있습니다.
파생 클래스의 키워드를 사용하여 기본 클래스 메소드를 무시하지만 다른 리턴 유형을 사용하는 메소드를 정의하십시오. 원래 메소드 이름을 유지하면서보다 구체적인 반환 유형이 가능합니다.
요약에서 키워드를 사용하면 애플리케이션 안전 및 신뢰성을 희생하지 않고 반환 유형 특이성의 이점을 제공합니다.
위 내용은 C#이 반환 유형 공분산을 지원하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!