C #: ¿Tipos genéricos que tienen un constructor?

Tengo el siguiente código de prueba de C #:

  class MyItem
  {
    MyItem( int a ) {}
  }

  class MyContainer< T >
    where T : MyItem, new()
  {
    public void CreateItem()
    {
      T oItem = new T( 10 );
    }
  }

Visual Studio no puede compilarlo, el error está en la línea donde se usa 'nuevo':

'T': cannot provide arguments when creating an instance of a variable type

¿Es posible en C # crear un objeto de tipo genérico con un constructor sin parámetros? No es un problema hacer eso en las plantillas de C ++, así que tengo mucha curiosidad por la razón por la que no puedo hacer lo mismo en C #. ¿Tal vez se requiera algo adicional de "dónde" o la sintaxis es diferente?

Respuestas a la pregunta(5)

Su respuesta a la pregunta