Passer un objet anonyme en argument en C #

J'ai un problème avec le passage d'un objet anonyme comme argument dans la méthode. Je veux passer de l'objet en JavaScript. Exemple:

function Test(obj) {
    return obj.txt;
}
console.log(Test({ txt: "test"}));

Mais en C#, il génère de nombreuses exceptions:

class Test
{
    public static string TestMethod(IEnumerable<dynamic> obj)
    {
        return obj.txt;
    }
}
Console.WriteLine(Test.TestMethod(new { txt = "test" }));

Exceptions:

  1. Argument 1: impossible de convertir de 'AnonymousType#1"
    'Système.Les Collections.Génériques.IEnumerable'
  2. La meilleure méthode surchargée de match pour
    'ConsoleApplication1.Test.TestMethod(Système D'.Les Collections.Génériques.IEnumerable)'
    a quelques arguments non valides
  3. 'Système.Les Collections.Génériques.IEnumerable' ne contient pas de
    définition pour 'txt' et aucune méthode d'extension 'txt' acceptant un premier
    argument de type 'System.Les Collections.Génériques.IEnumerable'
    (êtes-vous en manque un à l'aide d'une directive ou d'une assemblée
    de référence?)

source d'informationauteur user1091156