C#: types Génériques qui ont un constructeur?

J'ai le C# suivants du code de test:

  class MyItem
  {
    MyItem( int a ) {}
  }

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

Visual Studio ne peut pas compiler, l'erreur est à la ligne où la "nouvelle" est utilisé:

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

Est-il possible en C# pour créer un objet de type générique avec des non-constructeur sans paramètre? Pas de problème pour faire ce genre de chose dans les modèles C++, donc je suis très curieux de savoir pourquoi je ne peux pas faire la même chose en C#. Peut-être quelques autres " où " est nécessaire, ou la syntaxe est différente?

InformationsquelleAutor grigoryvp | 2009-11-30