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:
- Argument 1: impossible de convertir de 'AnonymousType#1"
'Système.Les Collections.Génériques.IEnumerable' - 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 - '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
Vous devez vous connecter pour publier un commentaire.
Il semble que vous souhaitez:
Vous l'utilisez que si c'est une valeur unique, pas une séquence. Voulez-vous vraiment une séquence?
Cela devrait le faire...
Cela fonctionne très bien 🙂