using 문을 StyleCop 규칙을 기반으로하는 네임 스페이스 내에 배치하는 것이 관례이지만 Visual Studio의 기본 템플릿은 외부에 있으므로 가장 일반적인 사용법이되었습니다.
자동 생성 파일이 네임 스페이스 안에 using 문을 배치하는 데는 좋은 이유가 있습니다. 참조가 해석되는 순서에 영향을줍니다. Columbus.Web.Data에서 사용되는 클래스와 이름을 공유하는 MyCoolProject.Web 네임 스페이스에 클래스를 정의한 경우 해당 클래스의 사용은 사용이 외부에 있으면 MyCoolProject.Web.Class로, Columbus.Web으로 확인됩니다. 사용법이 내부에 있다면 Data.Class. 따라서 using 문을 네임 스페이스 내에 유지하면 자동 생성 코드가 프로젝트에서 변경 한 사항에보다 강력 해집니다.
이것은 컴파일되지 않습니다 (MyCoolProject.Web.콘솔 클래스)를 WriteLine을 정의하지 않습니다
이
namespace MyCoolProject.Web.Services
{
using System;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello there");
}
}
}
namespace MyCoolProject.Web
{
public static class Console
{
}
}
Juval은 Programming .NET Components에서이 연습을 권장하지만 왜 기억하지 못합니다. 이 링크는 그를 반대합니다. http://consultingblogs.emc.com/anthonysteele/archive/2007/10/12/IDesign-C_2300_-Coding-standards.aspx – kenny
빠른 응답과이를 명확히하기 위해 모두에게 감사드립니다. – andreiursan