C # 인터페이스에서 키워드 "사용"사용


16

C #을 사용하여 일부 코드를 작성하고 Visual Studio 2010을 사용하여 인터페이스를 정의 할 때 항상 많은 "사용"문이 포함됩니다 (예 참조).

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace TestEngine.TestNameSpace
{
    interface ITest1
    {
        bool testMethod(int xyz);
    }
} 

나는 이것이 무엇이고 정말로 필요한지 궁금합니다. 이것들을 버릴 수 있습니까? 인터페이스 설명에 해당 부분을 사용하는 경우에만 필요합니까?


편집을위한 thnx. 방금 스스로 알아 냈습니다. 어떻게 든 코드 블록에서 문장을 선택했지만 using 문이 생략되었습니다. :)
— Onno

2
또한 stackoverflow.com/a/151560/240613 : 코드에서 사용법이 잘못된 곳에 있습니다.
— Arseni Mourzenko

1
링크에 대한 Thnx는 훌륭한 추가 기능입니다. @Akshat Jiwan Sharma의 답변이 사실 인 것이 분명해졌지만 동시에 VS2010을 설치할 때 MS가 제공 한 기본 템플릿 / 설정과 관련이 있습니다.
— Onno

1
@MainMa-Visual Studio가 usings기본 템플릿에 넣는 곳 이므로 Microsoft가 곧 업데이트하지 않으면이 질문이 유효합니다.
— ChrisF

1
@Midhat : 맞습니다. 그러나 질문 자체를 읽을 때 무엇이 ​​요청되는지는 분명합니다. 더 나은 제목을 생각할 수 있다면 제목을 자유롭게 편집하십시오.
— Onno

답변:


49

Visual Studio는 작성하려는 코드를 모르므로 기본적으로 "새 클래스"템플릿에 가장 일반적인 네임 스페이스가 포함됩니다. 이 작업을 수행하므로 작성하는 모든 새 코드 줄마다 참조를 모두 확인할 필요가 없습니다.

기본 코드를 작성한 후 마우스 오른쪽 단추를 클릭하고 구성 사용> 제거 및 정렬 을 선택하면 사용하지 않는 코드가 삭제됩니다.


2
또한 실수로 "사용"행을 제거하는 경우 지금 찾을 수없는 클래스 이름으로 이동하여 다시 추가 할 수 있습니다.-> 해결-> 사용 중 ...
— Mr Lister

10
@MrLister : 아직 모르는 경우 : "ctrl +"를 누르십시오. (제어 기간) 커서가 해결되지 않은 유형 또는 클래스에있을 때 마우스를 터치하지 않아도 동일한 효과를 얻습니다.
— Steven Evers

3
또한 사용 된 "사용"만로드되므로 사용되지 않은 "사용"은 코드 런타임에 영향을 미치지 않습니다. 그러나 IDE와 컴파일 속도에 영향을 줄 수 있습니다 : stackoverflow.com/questions/136278/…
— Holger

이것이 정답이므로 StyleCop은 잘못된 위치에있는 참조에 대해 불만을 표시하고 새 클래스 및 새 인터페이스 등에 대한 템플릿을 편집 할 수도 있습니다.
— Job

5

예. 사용하지 않는 using 지시문을 제거 할 수 있습니다.이 지시문은 Visual Studio에서 가장 일반적으로 사용되는 명령이므로 자동으로 추가되며, 인터페이스에서 linq를 사용하지 않을 경우 지시문을 제거 할 수 있습니다.

 System.Linq;

다른 지시문도 마찬가지입니다. 또한 네임 스페이스 내에서 using 지시문을 이동하는 것이 좋습니다.


당신이 묻는 질문을 오랫동안 도와 줘서 기뻤습니다. :)
— Akshat Jiwan Sharma

템플릿 파일을 편집하고 어떤 using 문을 포함 시킬지, 그리고 기본적으로 네임 스페이스 내부로 들어가야하는 곳을 조정하거나 StyleCop이 불평하거나 나쁜 일이 발생할 수 있습니다.
— Job

3

이 기본 using문은 인터페이스를 만들 때 기본 템플릿의 일부입니다. 언제든지 템플릿을 편집하여 템플릿을 제거 할 수 있습니다. 자세한 내용은 이 질문을 참조하십시오.


그러나 그들은 정말로 필요합니까? 템플릿에 포함시켜야 할 이유가 있습니까?
— Onno

필요하지 않은 경우 간단히 제거하십시오. 기본값 일뿐입니다.
— Bernard

인터페이스 메소드 중 하나가 그 중 하나에있는 리턴 유형 인 경우에만 필요합니다. 최소한 시스템이 필요하고 다른 유형은 반환하려는 유형에 대해서만 필요합니다.
— Graham

실제로 많은 클래스에는 시스템이 필요하지 않습니다. 그러나 대체로 대부분의 개발자, 특히 .NET에 몹시 익숙하지 않고 주요 시스템 클래스를 어디에서 선택할지 모르는 개발자의 삶이 더 쉬워집니다.
— Wyatt Barnett

0

간단히 말해서 네임 스페이스 라고 합니다 . 네임 스페이스는 코드 내 일부 라이브러리 클래스를 참조하는 데에도 사용됩니다. .NET에서 네임 스페이스를 사용하는 방법 에 대한 권장 지침도 있습니다.

대부분의 경우 사용하지 않으면 간단히 제거 할 수 있습니다. 다음 두 네임 스페이스는 제거 될 수있는 후보입니다.

using System.Collections.Generic;
using System.Linq;

Visual Studio는 네임 스페이스를 선언하지 않고 일부 프레임 워크 / 라이브러리 클래스를 사용한 후에는 코드를 불평하고 컴파일하지 않습니다. 따라서 네임 스페이스는 코드를 구조화하고 프로젝트 클래스, 인터페이스, 구문 등의 참조를 완화시키는 역할을합니다.


-1

여러 가지 방법으로 사용되는 C #에서 사용 .. 단어 키워드를 사용하는 것은 시스템을 사용할 때 시작할 때 사용하는 것을 의미합니다. 즉, 모든 주요 기능이 저장되고 이름을 단축하는 데 System이라는 이름의 DLL이 있습니다.

system.WriteLine("Andy");

그러나 위의 시스템을 사용하면 다음과 같이 쓸 수 있습니다.

WriteLine("Andy");

연결을 사용할 때 SQLserver에서 더 많은 것은 연결 명령을 사용하여 데이터베이스의 데이터를 사용한 후에 닫힙니다. 시간을 절약하려는 코더에게 매우 유용합니다.


1
답변에 불필요한 링크 및 스팸성 링크를 추가하지 마십시오.
— ChrisF
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.