public class PropertyModifier { object toModify; public PropertyModifier(object toModify) { this.toModify = toModify; } public void Modify(string property, object value) { FieldInfo fi = this.toModify.GetType().GetField(property, BindingFlags.Instance | BindingFlags.NonPublic); if (fi != null && fi.FieldType == value.GetType()) fi.SetValue(this.toModify, value); } }