2011-03-10 4 views

답변

3

typeof(T)을 사용해야 작동합니다.

public static T Get<T>() where T : Type 
{ 
    return _components[typeof(T)] as T; 
} 
+0

예, 너무 간단합니다. 어떻게 그럴 수 ... 감사합니다! –

1

_component[someKey] 반환 IObserverComponent 그래서 당신은 어떻게 당신의 방법을 반환 T를 가질 수있다?

귀하의 방법이 이와 같은 것이 아니어야합니까?

public static IObserverComponent Get<T>() 
     where T : Type 
{ 
    return _components[typeof(T)]; 
} 
+0

감사합니다. 그러나 유형은 열쇠입니다. –

+0

@LexRema하지만 여전히 반환 유형은 T가 아닙니다. 맞습니까? IObserverComponent와 Type이 관련이없는 경우,'as' 연산자는 런타임에 null을 반환합니다. –

+0

예. T는 IObserverComponent에서 파생됩니다. –