here is some C# code that does not compile, giving the following message :
cannot convert from 'out T' to 'out Component'
    public void Get<T>(out T c) where T : Component
    {
        m_components.TryGetValue(typeof(T), out c);
    }
Here is code that does compile :
    public void Get<T>(out T c) where T : Component
    {
        Component temp;
        m_components.TryGetValue(typeof(T), out temp);
        c = (T)temp;
    }
I wonder why the first code is not valid since the "where T : Component" explicitly states that T is of type Component.
Thanks
 
     
     
     
     
     
    