[C# 10] global using : 좀 더 간결한 예시 코드 언어로 진화

global using은 프로젝트 범위 안에서 공통으로 사용하는 대상을 using할 수 있습니다. 개인적인 생각은 C# 9에서 추가된 최상위문(top-level statement)과 더불어서 간결한 예시 코드를 제공하고 실행할 수 있도록 하는 문법적 진화라고 생각합니다. 가령,

최상위문을 이용해 다음처럼 코드를 작성할 수 있는데요,

using System;

Console.WriteLine("Hello World");

global using을 이용해 별도의 파일에

global using System;

한 후, 아래처럼 좀 더 간결하게 표현할 수 있습니다.

Console.WriteLine("Hello World");

이는 using statc 및 Alias using과 결합했을 때 더욱 더 강력해 지는데요,

global using System;
global using static Helpers;
global using Alias = TypeOrNamespace;

이 역시도 최상위문을 통해 입문 프로그래머가 Python과 유사한 느낌으로 개발을 시작할 수 있도록 하는 보조 장치가 될 것이라고 생각합니다.

별도의 파일에 (예를 들어 Globals.cs)

global using static System.Console;

한후,

Program.cs를 다음처럼 쓸 수 있게 됩니다.

WriteLine("Hello World");

출처: [C# 10] global using : 좀 더 간결한 예시 코드 언어로 진화 (slogger.today)

4개의 좋아요

이걸 선언할 수 있는 적절한 위치가 AssemblyInfo.cs인데요, .NET Core 프로젝트부터 이게 없어져서 현재대로라면 자칫 중구난방으로 사용할 수 있는 여지가 있을 듯합니다. ^^

3개의 좋아요

블레이저를 잠깐 해볼때 이런 글로벌 using 용도로 쓰는 파일? 이 있었던거 같은데 10버전에서 정식 지원이라니 유용할듯 하면서도 네임스페이스를 나누는 것에 예민한 개발자들은 좋아하지 않을 기능일 듯도 하군요…ㅎㅎ 물론 전 상관없는 측에 속해서 유용히 쓸 듯 합니다 ㅎㅎ

2개의 좋아요

새로운 나온 모듈 이니셜라이저에서는 좀 안될려나요 ㅎㅎ

글로벌 유징이 어떻게 사용되어질지 궁금하네요. ^^

1개의 좋아요