Getting and setting properties C# with Example
Basic usage: PropertyInfo prop = myInstance.GetType().GetProperty("myProperty"); // get the value myInstance.myProperty object value = prop.GetValue(myInstance); int newValue = 1; // set the value myInstance.myProperty to newValue prop.setValue(myInstance, newValue); Setting read-only automatically-implemented properties can be done through it's backing field (in .NET Framework name of backing field is "k BackingField"): // get backing field info FieldInfo fieldInfo = myInstance.GetType() .GetField("k BackingField", BindingFlags.Instance | BindingFlags.NonPublic); int newValue = 1; // set the value of myInstance.myProperty backing field to newValue fieldInfo.SetValue(myInstance, newValue);