使用动作助手时未定义控制器

I have the controller@method name in a variable, and I want to get url of this controller, so I use action() Helper in Laravel, but I get this error:

InvalidArgumentException in UrlGenerator.php line 605:
Action App\Http\Controllers\Dashboard\Users\UserController@index not defined. 

This is my route/web.php :

Route::group(['middleware' => ['auth','nav'], 'prefix' => 'dashboard', 'namespace' => 'dashboard'], function () {
    Route::get('/', 'DashboardController@index')->name('dashboard');

    Route::group(['prefix' => 'users', 'namespace' => 'users'], function () {
        Route::get('/list', 'UserController@index');
    });
});

and in variable I store this string :

Dashboard\Users\UserController@index

What is the problem ?

UPDATE :

I use action() Helper in middleware:

<?php

namespace App\Http\Middleware;

use App\Models\User\Nav;
use Closure;
use Illuminate\Support\Facades\View;

class NavMenu
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request $request
     * @param  \Closure $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        ...
        $sample = $this->createNavigation();
        ...
        return $next($request);
    }

    public function createNavigation()
    {
        ...
        $url = action('Dashboard\Users\UserController@index');
        ...

        return $url;
    }
}