2012-05-13 2 views
0

을 감안할 때 :IEnumerable T를 얻는 방법 <T> 변수가없는 매개 변수가 있습니까?

TIEnumerable<XYZ>에 폐쇄
public T Get<T>() { ... } 

, 어떻게 내가 XYZ 유형을 확인할 수 있습니까?

나는 시작 할 변수가 없습니다.

+0

당신은 의미 :'TReturn = 가져 오기()'TReturn는 항상'IEnumberable '이며'XYZ'의 유형을 찾을 필요가? '클래스 푸 을 : – gideon

+0

는 뜻을 IEnumerable ': IEnumerable을 {공공 T는 () {...} 여기서 T 받기? – flq

답변

2

당신은 typeof(XYZ)를 얻을 수 LINQ: Building an IQueryable Provider - Part I에서 TypeSystem.GetElementType 방법을 사용할 수 있습니다

var elementType = TypeSystem.GetElementType(typeof(IEnumerable<XYZ>)); 
// elementType == typeof(XYZ) 

당신의 방법, 당신은 T를 나타내는 Type 개체를 가져 typeof(T)를 사용할 수 있습니다.

public T Get<T>() 
{ 
    var elementType = TypeSystem.GetElementType(typeof(T)); 
    ... 
} 
2

당신은 당신에게 올바른 유형의 정보를 얻을 것이다, typeof(T)를 사용할 수 있습니다. typeof(IEnumerable<XYZ>) 주어 졌을 때

관련 문제