10
ประโยชน์ที่แท้จริงของ ExpandoObject คืออะไร
ExpandoObjectระดับที่เพิ่มเข้ามา .NET 4 ช่วยให้คุณสามารถตั้งค่าคุณสมบัติพลลงบนวัตถุที่รันไทม์ มีข้อได้เปรียบอะไรบ้างในการใช้ a Dictionary<string, object>หรือแม้กระทั่งHashtableจริงๆ? เท่าที่ฉันสามารถบอกได้นี่คืออะไร แต่เป็นตารางแฮชที่คุณสามารถเข้าถึงได้ด้วยไวยากรณ์ที่กระชับขึ้นเล็กน้อย ตัวอย่างเช่นทำไมจึงเป็นเช่นนี้: dynamic obj = new ExpandoObject(); obj.MyInt = 3; obj.MyString = "Foo"; Console.WriteLine(obj.MyString); ดีกว่าจริงๆหรือแตกต่างอย่างมีนัยสำคัญกว่า: var obj = new Dictionary<string, object>(); obj["MyInt"] = 3; obj["MyString"] = "Foo"; Console.WriteLine(obj["MyString"]); อะไรจริงข้อดีจะได้รับจากการใช้ ExpandoObject แทนเพียงใช้โดยพลการประเภทพจนานุกรมอื่น ๆ กว่าไม่เป็นที่ชัดเจนว่าคุณกำลังใช้ชนิดที่ว่าจะได้รับการพิจารณาที่รันไทม์