2010-04-26 7 views
2

나는 자바 배경에서 오전 및 이에 해당하는 C#에서 다음 찾고 있습니다.메서드 제네릭에서 형식을 추론

public interface Reader { 
    <T> T read(Class<? extends T> type); 
} 

다음과 같이 매개 변수를 제한하고 반환 유형을 유추 할 수 있습니다.

Cat cat = reader.read(Cat.class); 
Dog dog = reader.read(Dog.class); 

나는 이것이 C#에서 작동 할 것이라고 기대했지만 확실하지 않습니다.

public interface Reader { 
    T Read<T>(); 
} 

그리고 이렇게하십시오.

public class TypeReader : Reader { 
    public T Read<T>() { 
     Type type = T.GetType(); 
     ... 
    } 
} 

C#에서도 이와 비슷한 기능이 있습니까?

답변

5

네,하지만 당신은 typeof(T)하지 T.GetType()을 원하고 :

Cat cat = reader.Read<Cat>(); 
+0

니스, 덕분에 잘 트릭을 할해야 ... –