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.