Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

C# - 제네릭 covariance/contravariance 사용할 때 컴파일 오류가 발생한다면?


아래 문서의 코드를 그대로 복사해서 컴파일했는데,

Using Variance in Interfaces for Generic Collections (C# and Visual Basic)
; https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/covariance-contravariance/using-variance-in-interfaces-for-generic-collections

다음과 같은 오류가 발생하는 경우가 있습니다.

1>------ Rebuild All started: Project: ConsoleApplication1, Configuration: Debug Any CPU ------

1>d:\...\Program.cs(35,13,35,37): error CS1502: The best overloaded method match for 'ConsoleApplication1.Program.PrintFullName(System.Collections.Generic.IEnumerable<ConsoleApplication1.Person>)' has some invalid arguments

1>d:\...\Program.cs(35,27,35,36): error CS1503: Argument 1: cannot convert from 'System.Collections.Generic.IEnumerable<ConsoleApplication1.Employee>' to 'System.Collections.Generic.IEnumerable<ConsoleApplication1.Person>'
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========


C# 제네릭이 인터페이스/델리게이트에 대해 분명히 공변/반공변을 지원함에도 불구하고 어찌된 일인지 저런 컴파일 오류가 발생한다면? 프로젝트 속성 창을 열어 대상 프레임워크가 .NET 3.5 이하로 설정된 것이 아닌지 확인해 보세요. ^^ 공변/반공변은 C# 4.0부터 지원하므로 .NET 4.0 이상으로 설정해야 합니다.




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 6/2/2024]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 121  122  123  124  125  126  [127]  128  129  130  131  132  133  134  135  ...
NoWriterDateCnt.TitleFile(s)
2912정성태4/29/201523281오류 유형: 286. VirtualBox에 Windows 8/2012 설치 시 "Error Code: 0x000000C4" 오류 발생
2911정성태4/29/201521832오류 유형: 285. Visual Studio 2015를 제거한 경우 Microsoft.VisualStudio.Web.PageInspector.Loader 어셈블리를 못 찾는 문제 [2]
2910정성태4/29/201525691오류 유형: 284. System.TypeLoadException: Could not load type 'System.Reflection.AssemblySignatureKeyAttribute' from assembly [1]
2909정성태4/29/201521865오류 유형: 283. WCF 연결 오류 - Expected record type 'PreambleAck'
2908정성태4/29/201530106오류 유형: 282. 원격에서 SQL 서버는 연결되지만, SQL Express는 연결되지 않는 경우
2907정성태4/29/201520288.NET Framework: 510. 제네릭(Generic) 인자에 대한 메타데이터 등록 확인
2906정성태4/28/201522804오류 유형: 281. DebugView로 인한 System.Diagnostics.Trace.WriteLine 멈춤(Hang) 현상
2905정성태4/27/201523327오류 유형: 280. HttpResponse.Headers.Add에서 "System.PlatformNotSupportedException: This operation requires IIS integrated pipeline mode." 예외 발생
2904정성태4/27/201528210DDK: 6. ZwTerminateProcess로 프로세스를 종료하는 Device Driver 프로그램 [2]파일 다운로드1
2903정성태4/20/201521878Windows: 110. (무료) 마이크로소프트 온라인 강좌 소개 - Azure에서 제공하는 계정 관리 서비스
2902정성태4/16/201527822Windows: 109. (무료) 마이크로소프트 온라인 강좌 소개 - Active Directory 이해
2901정성태4/15/201524431Windows: 108. (무료) 마이크로소프트 온라인 강좌 소개 - Windows Server 2012 R2 주요 기술 (Hyper-V 관점)
2900정성태3/24/201523535오류 유형: 279. robocopy 오류 - The file cannot be accessed by the system [4]
2899정성태3/24/201531580개발 환경 구성: 264. Visual Studio 2013 솔루션을 2015로 마이그레이션
2898정성태3/24/201522299개발 환경 구성: 263. SharePoint 2013을 Windows Server 2012 R2에 설치
2897정성태3/18/201520890오류 유형: 278. LoadLibrary("...") failed - Invalid access to memory location.
2896정성태3/18/201520921VC++: 90. Visual Studio 2013에서 Visual Basic 6용 ATL Control 제작
2895정성태3/18/201524200VC++: 89. Visual Studio 2015 - auto 반환 타입 및 thread_local 예약어 지원(C++ 11 표준) [2]
2894정성태3/18/201521990.NET Framework: 509. ELEMENT_TYPE_MODIFIER의 조합
2893정성태3/18/201522708오류 유형: 277. command line error MIDL1004: cannot execute C preprocessor cl.exe
2892정성태3/17/201527608오류 유형: 276. robocopy - Logon failure: unknown user name or bad password.
2891정성태3/17/201543651개발 환경 구성: 262. Visual Basic 6 (Enterprise Edition)을 Windows 7 x86에 설치하는 방법 [1]
2890정성태3/17/201525510오류 유형: 275. Internet Explorer - This page can't be displayed
2889정성태3/17/201526684Windows: 107. (2015-03-12) 업데이트 이후 작업 표시줄 또는 탐색기의 반응이 느려지는 문제 [1]
2888정성태3/17/201524518.NET Framework: 508. Visual Studio 빌드 - fatal error C1033: cannot open program database ''
2887정성태3/13/201521860.NET Framework: 507. CoreFx 빌드하는 방법
... 121  122  123  124  125  126  [127]  128  129  130  131  132  133  134  135  ...