static bool IsArrayAssignable (Type object_type, Type target_type)
{
if (object_type.IsArray && target_type.IsArray)
return IsArrayAssignable (object_type.GetElementType (), target_type.GetElementType ());
if (target_type.IsAssignableFrom (object_type))
return true;
return false;
}