在不使用类型arguments(<T>)作为输入参数或返回值的情况下,C#中通用方法的用途是什么?

在不使用类型实参作为输入参数或返回值的情况下,C#中泛型方法的用途是什么?

private void method1<T>()

我刚刚在ASP.NET Core代码中进行了探索,看到他们在很多地方都使用了这种通用方法。

例如,在UseMiddlewareExtensions中的UseMiddleware中。

public static IApplicationBuilder UseMiddleware<TMiddleware>(this IApplicationBuilder app,
    params object[] args)
{
    return app.UseMiddleware(typeof(TMiddleware), args);
}

这是常见的模式还是我错了?