2012-02-03 4 views
3

나는 이것에 대해 많은 게시물을 읽었지만 여전히 정의를 완전히 이해하고 있는지 확신 할 수 없습니다.열기, 닫기, 바운드 및 언 바운드 일반 유형

다른 용어의 예는 다음과 같습니다. 여기서 올바른 방향으로 가고 있습니까, 아니면 여전히 개념을 이해하지 못합니까? 감사합니다

Array<T TArray> - unbound and open. 
Array<int> - bound and closed. 
Array<Array<T TArray> - bound and open. 
Array<Array<int>> - bound and closed. 

답변

3

언 바운드는 typeof(Dictionary<,>)과 같은 의미입니다. 언 바운드 유형은 Reflection에서만 흥미로 우며 typeof()에서만 사용할 수 있으며 다른 컨텍스트에서는 사용할 수 없습니다. 언 바운드 형식은 모두 닫힌 형식이며 "언 바운드 및 열기"조합은 불가능합니다. - 언 바운드 유형 typeof() 만 직접 입력 인수로 사용할 수 없습니다 List<Dictionary<,>> 같은 것은 없다는 것을

Dictionary<,> - unbound and closed 
Dictionary<string, int> - constructed and closed 
Dictionary<int, T> - constructed and open 
Dictionary<string, List<T>> - constructed and open 
NonGenericClass - bound and closed 

참고 :

가정 T는 현재의 클래스/메소드의 형식 매개 변수입니다. 유형은 바인딩되지 않거나 완전히 바인딩되어 있습니다. 유형이 언 바운드 인 경우 유형 매개 변수를 참조 할 수있는 위치가 없기 때문에 "언 바운드 및 열기"조합은 불가능합니다.

+0

감사합니다. Daniel. 매우 도움이됩니다. –

관련 문제