Я отримую повідомлення про помилку:
'object' не містить визначення для 'Title'
весь код також на 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));
}
}
}
Я отримую повідомлення про помилку:
'object' не містить визначення для 'Title' **
навіть якщо він знаходиться в динамічному об'єкті.
- o.Title 'o.Title' видав виняток типу 'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException' динамічний {Microsoft.CSharp.RuntimeBinder.RuntimeBinderException}
Ось знімок екрану:
Я роблю щось подібне і намагаюся викликати функцію фільму з тестового проекту.