C# 에서 특수 페이지 유형을 달성합니다 .NET 프레임 워크 내에서 사용자 정의 페이지 유형을 개발하면 컨트롤에서 이러한 페이지에 액세스 할 때 종종 문제가 발생합니다. 표준 반환 유형은 일반적으로 기본값이 덜 구체적인 페이지 유형으로 변합니다. 이 기사는이 제한을 극복하고 전문 페이지 유형을 반환하는 방법을 살펴 봅니다.
반환 유형 공분산 및 그 의미
및 그 파생 클래스를 고려하십시오.
여기, 's메소드는 를 반환합니다. 이를 통해 소비자는 .
C#의 한계와 실용적인 솔루션 CLR 제한으로 인해
이 전략은 기본 클래스에서 보호 된 추상 Enclosure
메소드를 사용합니다. 파생 된 클래스는이를 무시하고 전문화 된 유형 ()을 반환하는 동시에 특수 리턴 유형과 함께 새로운 Aquarium
메소드를 노출시킵니다. 이 접근법은 컴파일 시간에 강력한 타이핑을 유지합니다. 핵심은
<code class="language-csharp">abstract class Enclosure { public abstract Animal Contents(); } class Aquarium : Enclosure { public override Fish Contents() { ... } }</code>.
위 내용은 전문 페이지 유형에 대해 C# 리턴 유형 공분산을 달성 할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!