Dynamic ne contient pas de définition d'une propriété à partir d'une référence de projet

StackOverflow https://stackoverflow.com/questions/9416095

Question

Je reçois une erreur qui dit:

«Objet» ne contient pas de définition du «titre»

Tout le code est également allumé 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 Film.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 exactement le même code

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:

'Object' ne contient pas de définition de 'Title' **

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: enter image description here

Je fais quelque chose comme ça et j'essaie d'appeler la fonction du film à partir d'un projet de test.

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top