ฉันได้รับข้อผิดพลาดที่แจ้งว่า:
'object' ไม่มีคำจำกัดความสำหรับ 'Title'
โค้ดทั้งหมดยังอยู่ใน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);
}
}
มันใช้งานได้ดีจากโปรเจ็กต์ SAME แต่ถ้าฉันเพิ่ม ConsoleApplication2 ด้วยการอ้างอิงถึง ConsoleApplication1 และเพิ่มรหัสเดียวกันแน่นอน
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));
}
}
}
ฉันได้รับข้อผิดพลาด:
'object' ไม่มีคำจำกัดความสำหรับ 'Title' **
แม้ว่าจะอยู่ในวัตถุไดนามิก
- o.Title 'o.Title' มีข้อยกเว้นประเภท 'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException' ไดนามิก {Microsoft.CSharp.RuntimeBinder.RuntimeBinderException}
นี่คือภาพหน้าจอ:
ฉันกำลังทำอะไรแบบนี้และพยายามเรียกใช้ฟังก์ชันภาพยนตร์จากโปรเจ็กต์ทดสอบ