이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 2933|회답: 0

[통신] .NET/C# 일반적인 T 공변 출력과 인터페이스 내 인버터

[링크 복사]
게시됨 2023. 8. 3. 오후 8:35:23 | | | |
요구사항: 최근에 .NET 소스 코드를 살펴보다가 인터페이스 제네릭에 다음과 같은 out 키워드가 있다는 것을 발견했습니다:공개 인터페이스 IStringLocalizer<out T>, 그리고 그것을 연구했다.

인터페이스 내 일반적인 타입 매개변수는 공변량 또는 인버터로 선언될 수 있습니다. 공분산은 인터페이스 메서드가 일반 타입 매개변수로 정의된 반환 타입보다 더 파생적인 반환 타입을 가질 수 있게 합니다. 인버터는 인터페이스 메서드가 일반 매개변수에서 지정한 인수 유형으로부터 도출 정도를 줄일 수 있게 합니다. 공변 또는 인버터 제네릭 타입 매개변수를 가진 일반 인터페이스는 "변형"이라고 불립니다.

공분산: out 키워드를 사용하여 generic type 매개변수를 공변량으로 선언합니다.
: in 키워드를 사용하여 generic type parameter를 인버터로 선언하세요.

VS2022의 이 스크린샷은 매우 상세하며, 제네릭에 어떤 한계가 생기는지 보여줍니다.



취역 중펑크<인 T, 아웃 트리설트>즉, 매개변수 유형은 T이고 반환 유형은 TResult입니다.

참조:
하이퍼링크 로그인이 보입니다.
하이퍼링크 로그인이 보입니다.






이전의:.NET 6에서 새로운 타이머인 PeriodicTimer가 사용됩니다
다음:Qv2ray는 Windows에서 Trojan-Go 서비스를 연결합니다
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com