2014-10-31 3 views
0

.NET C# 웹 응용 프로그램에 "그룹"이라는 클래스를 만들었습니다.같은 이름의 클래스가 이미 있습니다.

다른 클래스에서이 클래스에 액세스하려고하면 아무런 문제가 발생하지 않지만 동일한 클래스에 액세스하려고하면 코드 내의 특정 부분에서 문제가 발생합니다.이 클래스는 다른 기본 제공 클래스 인 " 그룹 "도 lib 디렉토리 아래에 있습니다. 정규식.

내 질문 : 다른 클래스에 액세스하려고한다는 것을 어떻게 직접 지정할 수 있습니까? 다른 libs 아래에 2 개의 클래스가있는 경우. 똑같은 이름으로, 나는 단지 X을 타이프했을 것이다. 그룹y. 차이를 지정하려면 그룹을 입력해야하지만 내 코드에서 직접 만든 클래스에 액세스하려면 입력해야하는 항목이 확실하지 않습니다.

편집 : 내가 아는 한 내 웹 응용 프로그램에 대한 네임 스페이스가 없습니다. 나는 내 웹 사이트를 개발하기 위해 WebForms를 사용하고 있으므로 걱정거리는 없다.

미리 감사드립니다.

+1

모든 네임 스페이스가있는 클래스의 전체 이름을 지정하십시오. – IVAAAN123

+0

@ IVAAAN123 게시물 편집을 읽어주십시오. –

+0

네임 스페이스가없는 경우 생성해야합니다. – IVAAAN123

답변

1

나는 다른 클래스

에게 당신 수에 액세스를 시도하고 있음을 직접 지정할 수 있습니다 방법 :

  • 정규화 된 이름을 사용, 예를

    MyNamespace.Group x = new MyNamespace.Group(); 
    
  • 피 당신이 정말로 (그 대신에 어쩌면 완전히 자격을 사용)
  • using 지시어를 통해 별칭을 사용하여 그것을 필요로하지 않는 System.Text.RegularExpressions에 대한 using 지시문을 추가 :

    using MyGroup = MyNamespace.Group; 
    ... 
    MyGroup x = new MyGroup(); 
    

네임 스페이스 선언이 없다면 MyNamespace.Group 대신 global::Group을 참조하면됩니다. 그러나 나는 의심합니다 에 네임 스페이스가 있고, 아직 네임 스페이스가없는 경우 만들 것을 권할 것입니다.

+0

내 편집 좀 봐. –

+0

@ TommyNaidich : 네임 스페이스가 없다면 매우 놀랄 것입니다. 만약 지금 네가 네임 스페이스를 가지고 있지 않다면, 나는 네가 그렇게 할 것을 강력히 권한다. 코드 숨김에서 네임 스페이스 선언을 찾으려고합니다. 그래도 내 대답에 추가 할 수있는 대안이 있습니다. –

+0

당신이 제안한 "global :: Group"방법은 저에게 완벽하게 작동합니다. 두 번째 요점은 - 웹 응용 프로그램의 네임 스페이스를 만들 필요가 없었기 때문에이 특정 프로젝트에서도이 작업을 수행 할 실질적인 이유는 없습니다. 내 클래스에 완전히 새로운 네임 스페이스를 지정하고 내 프로젝트 내 모든 코드 줄을 변경하여 변경 사항에 적절히 적응하는 대신 내 클래스에 액세스해야 할 때마다 단순히 "global :: Group"을 사용하지 않는 것이 어떻습니까? 답변이 곧 접수됩니다. 입력 해 주셔서 감사합니다. –

0

만 코드에서 자신의 클래스에 액세스하려면, 당신은 using 키워드 그것의 별칭 만들 수 있습니다

using Group = My.Namespace.Group; 

(클래스의 상단을 정상적인 사용 지침 외에) . 이 문제에 대한 보호

using Group = X.Group; 

var group = new Group(); \\ default Group class comes from X namespace; 
var group2 = new Y.Group(); \\ if you want other class, specify full namespace. 
0

당신은 using 지시어를 사용할 수있는 코드에서 정규화 된 이름을 사용하는 것이 가능하다 귀하의 유형에 그러한 일반 이름을 부여하십시오. 이것이 최고의 솔루션입니다.

  • 완전 당신이 그것을 사용하는 타입의 이름을 규정 : 그 없다면

    , 당신은 두 가지 중 하나를 할 수 있습니다. 예 : MyNamespace.Group

  • using을 통해 유형 별칭을 선언하십시오. 예 : using MySpecialGroup = MyNamespace.Group;
+0

제 편집을 참조하십시오. –

1

제 1 층에주의하는 것입니다 :

은 그렇지 않으면

var Group = new My.Namespace.Group; 
+0

내 편집 좀 봐. –

관련 문제