private void CachePropertyGetter(string propertyName) { if (Getters.ContainsKey(propertyName)) { return; } var propInfo = GetType().GetProperty(propertyName); Getters.Add(propertyName, obj => propInfo.GetValue(obj)); }