J'avais tort, la réponse courte ne manquait pas de parenthèses dans l'exemple tel qu'il a été posté. Il doit y avoir une autre erreur de frappe car tout ce qui suit a fonctionné lorsque je l'ai testé :
MyType myType = new MyType();
MyMethod(new List<MyType>{ myType });
MyMethod(new List<MyType>{ new MyType(), new MyType() });
MyMethod(new List<MyType>{ new MyType() });
\======================== Réponse courte : Il manque la parenthèse.
MyType myType = new MyType();
MyMethod(new List<MyType>(){ myType });
ou si vous n'avez pas besoin de la variable nommée myType au-delà de l'insertion (de sorte qu'elle ne sera utilisée qu'à partir de la liste)
MyMethod(new List<MyType>(){ new MyType(), new MyType() });
Notez que l'exemple ci-dessus insère deux éléments dans la liste. Je l'ai écrit de cette manière pour montrer plusieurs créations. Si vous n'en voulez qu'une seule, comme vous l'avez indiqué dans votre question, c'est ce que vous devez utiliser :
MyMethod(new List<MyType>(){ new MyType() });