У меня проблема с передачей анонимного объекта в качестве аргумента метода. Я хочу передать объект, как в JavaScript. Пример:
function Test(obj) {
return obj.txt;
}
console.log(Test({ txt: "test"}));
Но в C#, он выдает много исключений:
class Test
{
public static string TestMethod(IEnumerable<dynamic> obj)
{
return obj.txt;
}
}
Console.WriteLine(Test.TestMethod(new { txt = "test" }));
Исключения:
- Аргумент 1: невозможно преобразовать из 'AnonymousType#1' в
'System.Collections.Generic.IEnumerable'
- Лучшее соответствие перегруженного метода для
'ConsoleApplication1.Test.TestMethod(System.Collections.Generic.IEnumerable)'
имеет некоторые недопустимые аргументы
- 'System.Collections.Generic.IEnumerable' не содержит
определение для 'txt' и нет метода расширения 'txt', принимающего первый
аргумент типа «System.Collections.Generic.IEnumerable»
может быть найден (вам не хватает директивы using или сборки
ссылка?)
задан Peter Mortensen 8 July 2012 в 15:47
поделиться