Я получаю сообщение об ошибке:
'объект' не содержит определения для 'Заголовка'
весь код также находится на github
У меня есть ConsoleApplication1, выглядит так
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Movie m = new Movie();
var o = new { Title = "Ghostbusters", Rating = "PG" };
Console.WriteLine(m.PrintMovie(o));
}
}
}
и Movie.cs
public class Movie : DynamicObject
{
public string PrintMovie(dynamic o)
{
return string.Format("Title={0} Rating={1}", o.Title, o.Rating);
}
}
, он отлично работает из ЖЕСТКОГО проекта, но если я добавлю ConsoleApplication2 со ссылкой на ConsoleApplication1 и добавлю Точно такой же код
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
Movie m = new Movie();
var o = new { Title = "Ghostbusters", Rating = "PG" };
Console.WriteLine(m.PrintMovie(o));
}
}
}
, я получаю сообщение об ошибке:
'объект' не содержит определения для 'Заголовка' **
, даже если он находится в динамическом объекте.
Вот снимок экрана:
Я делаю что-то вроде этого и попытка вызвать функцию фильма из тестового проекта.
В моем случае у меня есть xUnit тестовый проект.
, Где 'содержание' строка json .
Этот код бросает ошибку:
dynamic parsed = JsonConvert.DeserializeObject<dynamic>(content);
Этот код работы. Используйте ExpandoObject insted динамических как это:
dynamic parsed = JsonConvert.DeserializeObject<ExpandoObject>(content);