부모글 보이기/감추기 AD BLOCK 해제 요청 이 글에는 광고가 많이 들어가 있지 않습니다. adblock을 해제하셔도 글을 읽는데 그다지 부담이 없으니 해제를 부탁드립니다. (연관된 글이 15개 있습니다.) C# 9.0 - (8) 정적 익명 함수 (static anonymous functions) C# 9.0 - (1) 대상으로 형식화된 new 식(Target-typed new expressions) ; https://www.sysnet.pe.kr/2/0/12363 C# 9.0 - (2) localsinit 플래그 내보내기 무시(Suppress emitting localsinit flag) ; https://www.sysnet.pe.kr/2/0/12364 C# 9.0 - (3) 람다 메서드의 매개 변수 무시(Lambda discard parameters) ; https://www.sysnet.pe.kr/2/0/12365 C# 9.0 - (4) 원시 크기 정수(Native ints) ; https://www.sysnet.pe.kr/2/0/12366 C# 9.0 - (5) 로컬 함수에 특성 지정 가능(Attributes on local functions) ; https://www.sysnet.pe.kr/2/0/12372 C# 9.0 - (6) 함수 포인터(Function pointers) ; https://www.sysnet.pe.kr/2/0/12374 C# 9.0 - (7) 패턴 일치 개선 사항(Pattern matching enhancements) ; https://www.sysnet.pe.kr/2/0/12383 C# 9.0 - (8) 정적 익명 함수 (static anonymous functions) ; https://www.sysnet.pe.kr/2/0/12389 C# 9.0 - (9) 레코드 (Records) ; https://www.sysnet.pe.kr/2/0/12392 C# 9.0 - (10) 대상으로 형식화된 조건식(Target-typed conditional expressions) ; https://www.sysnet.pe.kr/2/0/12399 C# 9.0 - (11) 공변 반환 형식(Covariant return types) ; https://www.sysnet.pe.kr/2/0/12402 C# 9.0 - (12) foreach 루프에 대한 GetEnumerator 확장 메서드 지원(Extension GetEnumerator) ; https://www.sysnet.pe.kr/2/0/12403 C# 9.0 - (13) 모듈 이니셜라이저(Module initializers) ; https://www.sysnet.pe.kr/2/0/12404 C# 9.0 - (14) 부분 메서드에 대한 새로운 기능(New features for partial methods) ; https://www.sysnet.pe.kr/2/0/12405 C# 9.0 - (15) 최상위 문(Top-level statements) ; https://www.sysnet.pe.kr/2/0/12406 C# 9.0 - (16) 제약 조건이 없는 형식 매개변수 주석(Unconstrained type parameter annotations) ; https://www.sysnet.pe.kr/2/0/12423 (이번 실습은 - 오늘 기준 16.7.7의 Visual Studio 2019에서는 컴파일이 안 되고 "16.8.x"의 Preview 버전에서 가능합니다.) C# 7.0에 로컬 함수(Local function)가 추가되고, C# 8.0에 로컬 함수의 static 정의가 가능해졌는데요. 마찬가지로 (C# 3.0부터 있었던) 람다 식과 (C# 2.0부터 있었던) 익명 메서드에 (이제서야) static 정의를 할 수 있게 되었습니다. 기능은 동일하게, 람다 및 익명 메서드 내에서 외부 scope의 변수를 명시적으로 캡처하지 못하게 만드는 역할을 합니다. using System; class Program { static void Main(string[] args) { { string title = "console: "; Func<int, string> func = static i => { // Error CS8820 A static anonymous function cannot contain a reference to 'title'. // return title + i.ToString(); return i.ToString(); }; Console.WriteLine(func(10)); } { const string title = "console: "; Func<int, string> func = static delegate (int i) { // const 변수의 경우 참조에 대한 부작용이 없으므로 사용 가능 return title + i.ToString(); }; Console.WriteLine(func(10)); } } } (첨부 파일은 이 글의 예제 코드를 포함합니다.) [이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.] [다음 글] 디버깅 기술: 173. windbg - System.Configuration.ConfigurationErrorsException 예외 분석 방법[이전 글] 오류 유형: 674. 어느 순간부터 닷넷 응용 프로그램 실행 시 System.Configuration.ConfigurationErrorsException 예외가 발생한다면? [연관 글] .NET Framework: 947. C# 9.0 - (1) 대상으로 형식화된 new 식(Target-typed new expressions).NET Framework: 948. C# 9.0 - (2) localsinit 플래그 내보내기 무시(Suppress emitting localsinit flag).NET Framework: 949. C# 9.0 - (3) 람다 메서드의 매개 변수 무시(Lambda discard parameters).NET Framework: 950. C# 9.0 - (4) 원시 크기 정수(Native ints).NET Framework: 951. C# 9.0 - (5) 로컬 함수에 특성 지정 가능(Attributes on local functions).NET Framework: 953. C# 9.0 - (6) 함수 포인터(Function pointers).NET Framework: 956. C# 9.0 - (7) 패턴 일치 개선 사항(Pattern matching enhancements).NET Framework: 959. C# 9.0 - (9) 레코드(Records).NET Framework: 961. C# 9.0 - (10) 대상으로 형식화된 조건식(Target-typed conditional expressions).NET Framework: 962. C# 9.0 - (11) 공변 반환 형식(Covariant return types).NET Framework: 963. C# 9.0 - (12) foreach 루프에 대한 GetEnumerator 확장 메서드 지원(Extension GetEnumerator).NET Framework: 964. C# 9.0 - (13) 모듈 이니셜라이저(Module initializers).NET Framework: 965. C# 9.0 - (14) 부분 메서드에 대한 새로운 기능(New features for partial methods).NET Framework: 966. C# 9.0 - (15) 최상위 문(Top-level statements).NET Framework: 974. C# 9.0 - (16) 제약 조건이 없는 형식 매개변수 주석(Unconstrained type parameter annotations) [최초 등록일: 11/1/2020] [최종 수정일: 11/22/2020] 이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다. by SeongTae Jeong, mailto:techsharer at outlook.com 비밀번호 댓글 작성자 ... 46 47 48 49 50 51 52 53 54 55 56 57 58 [59] 60 ... NoWriterDateCnt.TitleFile(s) 12460정성태12/18/202017822기타: 78. 도서 소개 - C#으로 배우는 암호학12459정성태12/16/202019086Linux: 35. C# - 리눅스 환경에서 클라이언트 소켓의 ephemeral port 재사용112458정성태12/16/202016722오류 유형: 694. C# - Task.Start 메서드 호출 시 "System.InvalidOperationException: 'Start may not be called on a task that has completed.'" 예외 발생 [1]12457정성태12/15/202016980Windows: 185. C# - Windows 10/2019부터 추가된 SIO_TCP_INFO112456정성태12/15/202017869VS.NET IDE: 156. Visual Studio - "Migrate packages.config to PackageReference"12455정성태12/15/202017271오류 유형: 693. DLL 로딩 시 0x800704ec - This Program is Blocked by Group Policy [1]12454정성태12/15/202017821Windows: 184. Windows - AppLocker의 "DLL Rules"를 이용해 임의 경로에 설치한 DLL의 로딩을 막는 방법 [1]12453정성태12/14/202018748.NET Framework: 984. C# - bool / BOOL / VARIANT_BOOL에 대한 Interop [1]112452정성태12/14/202019155Windows: 183. 설정은 가능하지만 구할 수는 없는 TcpTimedWaitDelay 값12451정성태12/14/202017152Windows: 182. WMI Namespace를 열거하고, 그 안에 정의된 클래스를 열거하는 방법 [5]12450정성태12/13/202018288.NET Framework: 983. C# - TIME_WAIT과 ephemeral port 재사용112449정성태12/11/202019277.NET Framework: 982. C# - HttpClient에서의 ephemeral port 재사용 [2]112448정성태12/11/202020675.NET Framework: 981. C# - HttpWebRequest, WebClient와 ephemeral port 재사용112447정성태12/10/202018760.NET Framework: 980. C# - CopyFileEx API 사용 예제 코드112446정성태12/10/202019835.NET Framework: 979. C# - CoCreateInstanceEx 사용 예제 코드112445정성태12/8/202015648오류 유형: 692. C# Marshal.PtrToStructure - The structure must not be a value class.112444정성태12/8/202017110.NET Framework: 978. C# - GUID 타입 전용의 UnmanagedType.LPStruct [1]112443정성태12/8/202016512.NET Framework: 977. C# PInvoke - C++의 매개변수에 대한 마샬링을 tlbexp.exe를 이용해 확인하는 방법12442정성태12/4/202015416오류 유형: 691. Visual Studio - Build Events에 robocopy를 사용할때 "Invalid Parameter #1" 오류가 발행하는 경우12441정성태12/4/202014878오류 유형: 690. robocopy - ERROR : No Destination Directory Specified.12440정성태12/4/202016411오류 유형: 689. SignTool Error: Invalid option: /as12439정성태12/4/202018476디버깅 기술: 176. windbg - 특정 Win32 API에서 BP가 안 걸리는 경우 (2) [1]12438정성태12/2/202017732오류 유형: 688. .Visual C++ - Error C2011 'sockaddr': 'struct' type redefinition12437정성태12/1/202017950VS.NET IDE: 155. pfx의 암호 키 파일을 Visual Studio 없이 등록하는 방법12436정성태12/1/202018081오류 유형: 687. .NET Core 2.2 빌드 - error MSB4018: The "RazorTagHelper" task failed unexpectedly.12435정성태12/1/202025192Windows: 181. 윈도우 환경에서 클라이언트 소켓의 최대 접속 수 (4) - ReuseUnicastPort를 이용한 포트 고갈 문제 해결 [1]1 ... 46 47 48 49 50 51 52 53 54 55 56 57 58 [59] 60 ...