> 백엔드 개발 > C++ > C# 4.0은 일반 공분산과 반공분산을 어떻게 처리합니까?

C# 4.0은 일반 공분산과 반공분산을 어떻게 처리합니까?

Linda Hamilton
풀어 주다: 2025-01-25 00:26:08
원래의
960명이 탐색했습니다.

C# 4.0 의 유전자 협력과 인버터에 대한 약간의 이해에서 C#의 초기 버전에서 일반 유형은 공동 작업 또는 인버터를 지원하지 않으므로 부모 -자녀 관계의 집계를 다룰 때 제한을 가져옵니다. 그러나 C# 4.0은 특정 제약 하에서 이러한 개념에 대한 지원을 도입했습니다.

인터페이스의 조정

공동 작업 유형을 사용하면 일반 유형이 파생물을 매개 변동으로 받아 들일 수 있습니다. 인터페이스의 경우 "out"키워드 사양을 사용하십시오. 예를 들어, 인터페이스 가있는 경우 인터페이스가 검색 유형의 값 만 T로 허용 함을 의미합니다. 이를 통해 우리는

를 반환하는 방법으로

를 반환 할 수 있습니다.

위원회의 요한 계시

인버터를 사용하면 일반 유형이 기본 유형을 매개 변수로 받아 들일 수 있습니다. 커미션의 경우 ""키워드 "에서 사용하십시오. 커미션을 고려하십시오. 이것은 t 유형 T의 매개 변수를 수락하는 방법을 의미합니다. 객체를 기대하는 방법은 문자열을 전달할 때 여전히 정상적으로 작동 할 수 있기 때문에 이제 as 를 사용할 수 있습니다.

세부 사항을 구현하십시오

c# 4.0의 분산 지원은 공개 언어에서 실행 (CLR)의 기능을 통해 실현됩니다. 컴파일러는 인터페이스의 올바른 사용과 위탁의 분산을 확인합니다. 구체적으로, 인터페이스는 출력 매개 변수에만 "out"만 사용할 수 있으며, 입력은 입력 매개 변수 (setter)에만 사용해야합니다. IEnumerable<out T> 유형이 안전한지 확인하십시오 IEnumerable<object> IEnumerable<string> C# 4.0 지원 분산의 차이는 있지만 안전한 방식으로 수행됩니다. 컴파일러는 유형 제약 조건을 위반하기 위해 트리가 트리가 거부되도록합니다. 이것은 바나나 목록이 과일 목록으로 변환되는 것을 방지합니다.

요약

c# 4.0 운명 유형의 유형의 유형을 거부하는 유전자 조정 및 인버터는 더 높은 유연성과 코드 재사성을 제공합니다. 이를 통해 개발자는 아버지와 아들 유형의 관계를 표현하는 인터페이스와 커미션을 완벽하게 사용할 수 있습니다.

위 내용은 C# 4.0은 일반 공분산과 반공분산을 어떻게 처리합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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