2012-08-05 4 views
-7

이 방법으로 목록을 만드는 방법이 있습니까? 어쩌면일반 값을 사용하는 KeyValuePair

List<string,KeyValuePair<string,T>> lst; 
+0

이미 목록입니다 ... –

+0

당신이하려는 일이나이 개체에 저장하려는 데이터를 설명 할 수 있습니까? 설명하신 '목록'은 목록이 아니며 불법이며 의미가 없습니다. –

+0

목록의 서명은'List '입니다. 즉, 브래킷 사이에 하나의 유형 만 제공 할 수 있습니다. 당신이 준 예제에서 기대할 수있는 정의는 무엇입니까? – log0

답변

1

: 당신이 모두stringKeyValuePair<string, T>를 지정할 수 있도록 모든

Dictionary<String, Dictionary<String, T>> lst; 
+0

제목을 보면이 질문은 목록 클래스가 아닌 제네릭 형식 인수에 대한 것 같습니다. –

4

첫째, List<T>는, 단 하나의 일반적인 인수를 받아들입니다. 지적했듯이 Dictionary<K, V>을 의미할까요?

일반적으로 T 인수를 사용하는 코드는 T이라는 형식 인수를 자체적으로 허용하는 제네릭 메서드 또는 클래스 내에 나타나는 경우에만 가능합니다.

목록에 다른 요소 (즉, 다양한 유형 : T)를 저장할 수 있기를 원한다면; 그건 불가능합니다. 모든 상품에 다른 T이있는 경우 어떤 상품을 T으로 입력하면 어떤 이점이 있습니까? 그들의 유형을 알 수 없으므로 값에 대해 어떤 가정을 할 수 없습니다. 따라서 할 수있는 일은 값이 포함될 수있는 모든 유형의 가장 일반적인 공통 기본 유형을 지정하는 것입니다. 실제로는 다른 공통된 특징을 공유하지 않으면 System.Object 일 수 있습니다.

+0

정확히 내가 찾던 답변입니다. 감사합니다. – Lopierdis

+0

@Lopierdis : 그 때 받아 들여지는 대답을 선택해 주시겠습니까? 아니면 그 질문이 종료 된 것이 더 이상 가능하지 않습니까? –

관련 문제