public void PerformanceTests() { int n = 10000000; object x = null; // tesla.PlaceOfBirth start = DateTime.Now; for (int i = 0; i < n; i++) { x = tesla.PlaceOfBirth; } stop = DateTime.Now; PrintTest("tesla.PlaceOfBirth (direct)", n, Elapsed); start = DateTime.Now; IDynamicProperty placeOfBirth = DynamicProperty.Create(typeof(Inventor).GetProperty("PlaceOfBirth")); for (int i = 0; i < n; i++) { x = placeOfBirth.GetValue(tesla); } stop = DateTime.Now; PrintTest("tesla.PlaceOfBirth (dynamic reflection)", n, Elapsed); start = DateTime.Now; PropertyInfo placeOfBirthPi = typeof(Inventor).GetProperty("PlaceOfBirth"); for (int i = 0; i < n; i++) { x = placeOfBirthPi.GetValue(tesla, null); } stop = DateTime.Now; PrintTest("tesla.PlaceOfBirth (standard reflection)", n, Elapsed); }
protected override IDynamicProperty Create(PropertyInfo property) { return(DynamicProperty.Create(property)); }