I'm not able to understand why I can't set a Class3 object from a Class2 object type, if Class3 inherits from Class2 (see the error comments).

The same is working if I pass object type Class3 as parameter of Class2 (see Class2.Method())

```
namespace Classes
{
    class Class1 
    {
        public static void Main() 
        {
            Class3 item = new Class3();
            Class2.Method(item); // This works!

            Class3 item2 = Class2.Method2(); // Compile error!
            Class3 item3 = (Class3) Class2.Method2(); // Runtime error!
        }
    }

    class Class2 
    {
        public static void Method(Class2 item) 
        {
        }

        public static Class2 Method2() 
        {
            Class2 item = new Class2();
            return item;
        }
    }

    class Class3: Class2 {}
}

```