C#10 전역 Using을 배치할 위치

3004 단어 csharpdotnet
새로운 C# 10에는 삶의 질 기능이 포함되어 있습니다. 내가 확실히 사용하고 있는 것은 Global Usings 입니다.

간단히 말해서 전역 Usings는 프로젝트 수준에서 usings를 선언하는 방법이므로 모든 단일 파일에서 선언할 필요가 없습니다.

내가 왜 신경을 써야 합니까?



특히 IDE가 우리를 위해 대부분의 작업을 수행하는 시대에는 공정한 질문입니다.

그럼에도 불구하고 프로젝트 수준에서 선언하면 소스 파일이 더 깔끔해집니다. 솔직히 말해 몇 번이나 가져오나요System.Linq 또는 자체 확장 네임스페이스를 가져오나요?

어떻게하니?



글로벌 사용은 사용이 간편합니다. 원하는 globalusing 수식어를 추가하기만 하면 됩니다.
global 수정자를 추가하는 것은 프로젝트의 모든 소스 파일에 동일한 using 지시문을 추가하는 것과 같습니다.

그러면 다음과 같은 질문이 생깁니다. 전역 용도를 어디에 선언해야 합니까?

나는 같은 질문에 직면하고 있었다. 🤔

한 가지는 분명했습니다. 나는 그것을위한 중심 장소를 가져야합니다. 짝수Microsoft Docs는 이렇게 말합니다.

You may add global using directives to any source file. Typically, you'll want to keep them in a single location. The order of global using directives doesn't matter, either in a single file, or between files.



하지만 어디? 웹 또는 콘솔 프로젝트에서 "Program.cs"를 사용할 수 있지만 빠르게 복잡해질 수 있습니다. 그리고 클래스 라이브러리라면?! "Program.cs"가 없습니다.

그래서 나는 트위터 친구들에게 무엇을 할 것인지 물었습니다.





주석을 살펴보면 프로젝트의 루트에 파일을 추가하는 것과 관련된 많은 좋은 제안을 볼 수 있습니다. 이름 제안은 보시다시피 다양합니다.
  • 글로벌.cs
  • GlobalUsings.cs
  • Imports.cs

  • 좋은 접근 방식인 것 같지만 마음에 와 닿는 댓글이 있었습니다.

    내가 선호하는 방법



    Martin 제안에 들어가기 전에 global usings 파일뿐만 아니라 프로젝트 파일에서도 .cs를 선언할 수 있다는 점을 언급하는 것이 중요합니다.

    프로젝트 파일에 <Using> 항목을 추가하면 됩니다.

    <ItemGroup>
     <Using Include="MyAwesomeApp.Extensions" />
    </ItemGroup>
    


    원칙적으로 C#에서 사용을 선언하는 것을 선호합니다. 나는 내 csproj 파일을 편집하는 것을 좋아하지 않지만 Martin은 내가 Directory.Build.props 파일에서 편집할 수 있다는 것을 기억했습니다. 잠재력을보기 위해 작성되었습니다).

    this post

    그래서, 그것의 아름다움은 무엇입니까?



    그것의 장점은 소스 코드가 포함된 루트 폴더에 Directory.Build.props를 배치하면 MSBuild가 실행될 때 Directory.Build.props에 정의된 속성이 모든 프로젝트에 추가된다는 것입니다. 따라서 솔루션 방식으로 수행하거나 테스트 폴더에 대해서만 수행하려는 경우 수행할 수 있습니다.

    마무리



    확실히 Directory.Build.props를 사용할 것입니다. 적어도 커뮤니티에서 나타나는 전역 사용을 선언하는 새로운 표준 방법을 보기 전까지는 말입니다.

    도움이 되었기를 바랍니다. 이와 같은 더 많은 팁을 얻으려면 저를 팔로우하고 계속 연락합시다!

    좋은 웹페이지 즐겨찾기