CS0401 de erro do compilador

Mensagem de erro

A restrição new() deve ser a última restrição especificada

Ao usar várias restrições, liste todas as outras restrições antes da restrição new().

Exemplo

O exemplo a seguir gera CS0401.

// CS0401.cs
// compile with: /target:library
using System;
 class C<T> where T : new(), IDisposable {}  // CS0401

class D<T> where T : IDisposable
{
   static void F<U>() where U : new(), IDisposable{}   // CS0401
}