มีตัวอย่างเช่นคุณสมบัติViewBagของControllerBase
คลาสและเราสามารถรับ / ตั้งค่าแบบไดนามิกและเพิ่มจำนวนฟิลด์หรือคุณสมบัติเพิ่มเติมใด ๆ ให้กับวัตถุนี้ซึ่งเท่มากฉันต้องการใช้บางอย่างเช่นนั้นนอกเหนือจากแอปพลิเคชัน MVC และController
คลาสอื่น ๆ ประเภทของแอปพลิเคชัน เมื่อฉันพยายามสร้างวัตถุแบบไดนามิกและตั้งค่าเป็นคุณสมบัติดังนี้:
1. dynamic MyDynamic = new { A="a" };
2. MyDynamic.A = "asd";
3. Console.WriteLine(MyDynamic.A);
ฉันได้รับRuntimeBinderException
ข้อความProperty หรือ indexer '<> f__AnonymousType0.A' ไม่สามารถกำหนดได้ - มันอ่านได้ในบรรทัดที่ 2 เท่านั้นนอกจากนี้ฉันขอแนะนำว่ามันไม่ใช่สิ่งที่ฉันกำลังมองหา อาจมีบางคลาสที่อนุญาตให้ฉันทำสิ่งที่ชอบ:
??? MyDynamic = new ???();
MyDynamic.A = "A";
MyDynamic.B = "B";
MyDynamic.C = DateTime.Now;
MyDynamic.TheAnswerToLifeTheUniverseAndEverything = 42;
ด้วยการเพิ่มและตั้งค่าคุณสมบัติแบบไดนามิก