> 백엔드 개발 > C++ > C#은 반환 유형 공분산을 지원하며 어떻게 달성 할 수 있습니까?

C#은 반환 유형 공분산을 지원하며 어떻게 달성 할 수 있습니까?

Linda Hamilton
풀어 주다: 2025-01-29 15:41:09
원래의
796명이 탐색했습니다.

반환 유형의 반환 유형 : 지원 및 구현 Does C# Support Return Type Covariance, and How Can It Be Achieved?
C#의 리턴 유형을 사용하면 미분 클래스가 기본 클래스보다 더 구체적인 유형을 반환 할 수 있습니다. 이 기능을 사용하면 전문적인 행동을 모두 제공하고 계층 구조의 무결성을 유지할 수있는 방법을 만들 수 있습니다.

예를 살펴 보겠습니다 :

이 장면에서 클래스에서 문자열을 반환하여 Meow 호출이 매우 유용하다는 것을 지정하는 방법이 있습니다. 그러나 C#은 리턴 유형 조정을 직접 지원하지 않습니다. 2011 년의 초기 답변에서 C#은 반환 유형의 협업 변경을 지원하지 않았으며, 공공 언어 (CLR)의 제한으로 인해 미래에 그것을 깨닫지 못했습니다. 그러나 최신 버전의 C#에서이 상황은 변경되었습니다. 링크 기사 " https://www.php.cn/link/40f4d60542d86344e5711c7a5584832 협업 반환"을 참조하십시오.

리턴 유형 CO -Changes가 도입되기 전에, 하나의 솔루션은 파생 클래스의 반환 값을 얻기 위해 중간 방법을 도입하는 것입니다.

이 기술을 사용하면 특정

가 를 검색 하고이 예에서 문자열을 반환 할 수 있습니다.

C# 9.0 이전 버전은 리턴 유형 조정을 직접 지원하지는 않지만 논의 된 솔루션은 여전히 ​​필요한 동작을 실현하는 방법으로 사용될 수 있습니다. 그러나 C#의 높은 버전에서는 반환 유형 조정의 공식 구현이보다 우아하고 간결한 솔루션을 제공한다는 점에 유의해야합니다.
<code class="language-csharp">public abstract class Animal
{
    public abstract string GetName();
}

public class Cat : Animal
{
    public string GetMeow();
}</code>
로그인 후 복사

위 내용은 C#은 반환 유형 공분산을 지원하며 어떻게 달성 할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿