Ich erhalte eine Fehlermeldung, die besagt:
'Objekt' enthält keine Definition für 'Titel'
Der gesamte Code ist auch auf Github
Ich habe eine ConsoleApplication1, die so aussieht
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));
}
}
}
und Movie.cs
public class Movie : DynamicObject
{
public string PrintMovie(dynamic o)
{
return string.Format("Title={0} Rating={1}", o.Title, o.Rating);
}
}
Es funktioniert gut aus dem gleichen Projekt, aber wenn ich ConsoleApplication2 mit einem Verweis auf ConsoleApplication1 hinzufüge und den exakt gleichen Code hinzufüge
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));
}
}
}
Ich erhalte eine Fehlermeldung:
'Objekt' enthält keine Definition für 'Titel' **
obwohl es im dynamischen Objekt ist.
- o.Title 'o.Title' hat eine Ausnahme vom Typ 'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException' ausgelöst. dynamic {Microsoft.CSharp.RuntimeBinder.RuntimeBinderException}
Hier ist ein Screenshot:
Ich mache so etwas und versuche, die Filmfunktion aus einem Testprojekt aufzurufen.