Recibo un error que dice:dinámica no contiene una definición de una propiedad de una referencia de proyecto
'object' does not contain a definition for 'Title'
todo el código está también en github
Tengo un ConsoleApplication1 que tiene este aspecto
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));
}
}
}
y Movie.cs
public class Movie : DynamicObject
{
public string PrintMovie(dynamic o)
{
return string.Format("Title={0} Rating={1}", o.Title, o.Rating);
}
}
funciona bien desde el mismo proyecto, pero si añado ConsoleApplication2 con una referencia a ConsoleApplication1 y añadir exactamente el mismo código
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));
}
}
}
me sale un error:
'object' does not contain a definition for 'Title'**
aunque está en el objeto dinámico.
- o.Title 'o.Title' produjo una excepción de tipo 'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException' dinámica {} Microsoft.CSharp.RuntimeBinder.RuntimeBinderException
Aquí está una captura de pantalla:
Estoy haciendo algo como esto e intento llamar a la función de película desde un proyecto de prueba.
posible duplicado de [ 'dinámica' no puede acceder a las propiedades de C# de tipos anónimos declaradas en otro conjunto de] (http: // stackoverflow .com/questions/2630370/c-sharp-dynamic-can-no-access-properties-from-anonymous-types-declared-in-anot) –