public void TestIndexers() { IDynamicIndexer members = DynamicIndexer.Create(typeof(ArrayList).GetProperty("Item")); Inventor nikola = (Inventor)members.GetValue(ieee.Members, new object[] { 0 }); Assert.AreEqual(tesla, nikola); members.SetValue(ieee.Members, new object[] { 0 }, new Inventor("Ana Maria Seovic", new DateTime(2004, 8, 14), "Serbian")); Assert.AreEqual("Ana Maria Seovic", ((Inventor)members.GetValue(ieee.Members, 0)).Name); members.SetValue(ieee.Members, 1, tesla); Assert.AreEqual("Nikola Tesla", ((Inventor)members.GetValue(ieee.Members, 1)).Name); IDynamicIndexer officers = DynamicIndexer.Create(typeof(Hashtable).GetProperty("Item")); Assert.AreEqual(pupin, officers.GetValue(ieee.Officers, new object[] { "president" })); officers.SetValue(ieee.Officers, "president", new Inventor("Aleksandar Seovic", new DateTime(1974, 8, 24), "Serbian")); Assert.AreEqual("Aleksandar Seovic", ((Inventor)officers.GetValue(ieee.Officers, "president")).Name); }