The GetGenericArgument() method has to be set on the Base Type of your instance
(whose class is a generic class myClass). Otherwise, it returns a type[0]
Example:
Myclass instance = new Myclass();
Type[] listTypes = typeof(instance).BaseType.GetGenericArguments();