J'obtiens une erreur qui dit:
«objet» ne contient pas de définition pour «titre»
tout le code est aussi sur github
J'ai une ConsoleApplication1 qui ressemble à ceci
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));
}
}
}
et Movie.cs
public class Movie : DynamicObject
{
public string PrintMovie(dynamic o)
{
return string.Format("Title={0} Rating={1}", o.Title, o.Rating);
}
}
cela fonctionne bien à partir du même projet, mais si j'ajoute ConsoleApplication2 avec une référence à ConsoleApplication1 et ajoute le même code exact
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));
}
}
}
J'obtiens une erreur:
'objet' ne contient pas de définition pour 'titre' **
même si c'est dans l'objet dynamique.
- o.Title 'o.Title' a lancé une exception de type 'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException' dynamic {Microsoft.CSharp.RuntimeBinder.RuntimeBinderException}
Voici une capture d'écran:
Je fais quelque chose comme ça et j'essaie d'appeler la fonction film à partir d'un projet de test.