Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private string _postalCode;
- public string PostalCode
- {
- get { return _postalCode; }
- set { _postalCode = value; }
- }
- public string PostalCode { get; set; }
- private string _getBackingFieldName(string propertyName)
- {
- return string.Format("<{0}>k__BackingField", propertyName);
- }
- private FieldInfo _getBackingField(object obj, string propertyName)
- {
- return obj.GetType().GetField(_getBackingFieldName(propertyName), BindingFlags.Instance | BindingFlags.NonPublic);
- }
- var field = _getBackingField(myObjectToChange, "State");
- field.SetValue(myObjectToChange, ObjectState.Active);
- FieldInfo[] myInfo = ClassWithPostalCode.GetType().GetFields(BindingFlags.Instance | BindingFlags.NonPublic);
- object oValue = obj.GetType().InvokeMember(fi.Name
- , BindingFlags.GetField | BindingFlags.NonPublic | BindingFlags.Instance
- , null, obj, null);
- private static FieldInfo GetBackingField(PropertyInfo pi) {
- if (!pi.CanRead || !pi.GetGetMethod(nonPublic:true).IsDefined(typeof(CompilerGeneratedAttribute), inherit:true))
- return null;
- var backingField = pi.DeclaringType.GetField($"<{pi.Name}>k__BackingField", BindingFlags.Instance | BindingFlags.NonPublic);
- if (backingField == null)
- return null;
- if (!backingField.IsDefined(typeof(CompilerGeneratedAttribute), inherit:true))
- return null;
- return backingField;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement