다음과 같은 오류가 발생합니다.
'개체'에 '제목'에 대한 정의가 없습니다.
모든 코드는 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);
}
}
동일한 프로젝트에서 잘 작동하지만 ConsoleApplication1에 대한 참조로 ConsoleApplication2를 추가하고 정확히 동일한 코드를 추가하면
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));
}
}
}
오류가 발생합니다.
'객체'에 '제목'에 대한 정의가 없습니다 **
동적 개체에 있더라도.
- o.Title 'o.Title'에서 'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException'유형의 예외가 발생했습니다. dynamic {Microsoft.CSharp.RuntimeBinder.RuntimeBinderException}
다음은 스크린 샷입니다.
나는 이와 같은 일을하고 테스트 프로젝트에서 영화 함수를 호출하려고합니다.