2010-11-26 4 views
8

StringComparer.OrdinalIgnoreCase 속성에 대한 MSDN 설명서에 따르면 :익명 형식이 다른 형식에서 상속받을 수 있습니까?

OrdinalIgnoreCase 속성은 실제로 StringComparer 클래스에서 파생 된 익명 클래스의 인스턴스를 반환합니다.

이 기능은 익숙하지 않은 익명 형식의 상속 기능입니까? 또는 "익명 클래스"는 작성자가 단순히 "클라이언트 코드에 표시되지 않는 StringComparer에서 파생 된 내부 클래스"를 의미합니까?

+0

가능한 복제본 [C# 익명 클래스가 인터페이스를 구현할 수 있습니까?] (http://stackoverflow.com/questions/191013/can-ac-sharp-anonymous-class-implement-aninterface) – nawfal

답변

7

당신이 StringComparer의 소스 코드를 보면, 당신은 OrginalIgnoreCase이 StringComparer에서 파생 OrdinalComparer의 인스턴스를 반환하는 것을 볼 수 있습니다.

내가 볼 수있는 '익명'은 없습니다. 이므로 프레임 워크 외부에서 볼 수 없습니다.

+0

실제 소스를보고 나도 게으른 일을 해주셔서 감사합니다.) –

4

컴파일러은 다른 유형을 상속하는 익명 형식을 만들 수 있습니다. 그것은 다른 클래스에서 상속 또는 인터페이스를 구현하거나 그 즉시 익명의 유형을 생성 할 수있는 멋진 기능이 될 것입니다 정말 같이 너무 나쁘다.

+4

예, 생성 중입니다. 인터페이스를 구현하는 익명 형식은 다소 깔끔합니다. – BFree

9

그것은 용어의 정상적인 C#을 의미 익명의 유형이 아니다.

그것은 당신이 그것의 이름을 모르는, 그래서 내부는 타입 그냥 : 당신은 당신의 코드 내 정확한 유형을 참조 할 수 없습니다.

+0

고마워요. 그것은 기본적으로 내가 궁금해하는 것입니다. 나는이 +1을 주었지만, 그는 실제로 소스 코드를 보는 데 어려움을 겪었 기 때문에 Will의 답변을 받아 들였다. (Reflector에서 나는 추측하고있다.) –

+0

소스 코드는 MS에서 다운로드 할 수 있습니다 (참조 소스 프로젝트는 수치 스럽습니다.) - Windows에서도 색인을 생성 했으므로 이러한 종류의 물건을 빠르게 볼 수 있습니다. http://referencesource.microsoft.com/netframework.aspx –

3

익명 유형은 익명 우리에게하지 CLR과 컴파일러입니다. 컴파일러 이름으로> <을 포함하는 재미 이름을 사용하고 단지 컴파일러는 할 수있다! 및 어쩌면 척 노리스 ...

+4

Chuck Norris는 익명 형식의 이름을 알고 있습니다. –

+3

Chuck Norris는 익명의 타입에서 다중 상속을 할 수 있습니다 ... – Aliostad

+1

맞아요.하지만이 문서가 "anonymous"(컴파일러가 생성 한 타입, 예를 들어 C#의 익명 타입 기능). Will의 답변에서, 그것은 완전히 다른 의미입니다. –

관련 문제