부모글 보이기/감추기 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 비밀번호 댓글 작성자 ... 181 182 183 184 185 186 187 188 189 190 191 192 [193] 194 195 ... NoWriterDateCnt.TitleFile(s) 153정성태5/12/200520089 VC++: 18.1. VC++ 8.0에서부터 바뀐 CRT 소개151정성태5/5/200523003VC++: 17. DLL에 export 된 C++ 클래스 멤버 함수 파라미터형 정보 알아내는 방법150정성태5/5/200524084.NET Framework: 41. 태그 사이의 값을 추출하는 정규식149정성태5/5/200520628.NET Framework: 40. 데이터그리드에서 콤보박스 쓸 수 있는 방법148정성태5/5/200521056.NET Framework: 39. DataSet 방식을 RecordSet으로 구현하는 방법.147정성태5/7/200618574VC++: 16. 클래스 멤버 함수에 대한 포인터를 받는 표현.146정성태4/29/200517735VS.NET IDE: 29. 네트워크 공유를 다른 사용자 계정으로 다시 로그인을 원하는 경우.144정성태4/14/200518145VS.NET IDE: 28. Windows 2003 SP1을 설치하고.143정성태5/5/200519469.NET Framework: 38. DSL (Domain Specific Language)141정성태4/14/200520227VS.NET IDE: 27. 64bit 컴퓨터 사용 평가 [3]140정성태4/14/200517371.NET Framework: 37. String.GetHashCode의 리턴값. 그때그때 다릅니다.138정성태4/12/200518072.NET Framework: 36. 64bit 시스템 구성142정성태4/14/200519479 VS.NET IDE: 36.1. 메모리 구성에 대한 추가 내용137정성태3/31/200523789.NET Framework: 35. XP SP2 팝업 뚫은 소스135정성태3/31/200522547VS.NET IDE: 26. SQL Server 2000구성이 실패134정성태3/31/200519620COM 개체 관련: 16. Microsoft.XMLHTTP 개체에서 Microsoft.XMLDOM 개체를 전송할 때 charset 지정 문제? [2]128정성태3/30/200518215.NET Framework: 34. VC++에서 Managed 타입의 메서드에 BSTR을 넘기는 경우의 오류(!)129정성태3/30/200520376 .NET Framework: 34.1. 위의 질문에 대한 답변으로 나온 것입니다.130정성태3/30/200517432 .NET Framework: 34.2. 다시... 제가 질문한 내용입니다. ^^131정성태3/30/200517947 .NET Framework: 34.3. 다시... 정봉겸님이 하신... 명확한 답변입니다.126정성태3/26/200517746.NET Framework: 33. Proxy 환경에서의 Smart Client 업데이트 문제 [1]133정성태3/31/200518887 .NET Framework: 33.1. [추가]: Proxy 환경에서의 Smart Client 업데이트 문제 [2]125정성태3/26/200518031VC++: 15. VC++ Keyword124정성태3/25/200518423.NET Framework: 32. 네트워크 공유 없이 상대 컴퓨터에 프로그램 설치119정성태3/21/200518063.NET Framework: 31. 소스세이프 오류현상: 웹 프로젝트를 열수 없습니다.120정성태3/21/200519495 .NET Framework: 31.1. 소스세이프 오류현상: PDB 파일이 잠기는 문제 ... 181 182 183 184 185 186 187 188 189 190 191 192 [193] 194 195 ...