+ if (deserialized == null) {
+ object fieldHolder = DeserializeExpression (manager, null, fieldRef.TargetObject);
+ FieldInfo field = null;
+ if (fieldHolder is Type) // static field
+ field = ((Type)fieldHolder).GetField (fieldRef.FieldName,
+ BindingFlags.GetField | BindingFlags.Public | BindingFlags.Static);
+ else // instance field
+ field = fieldHolder.GetType().GetField (fieldRef.FieldName,
+ BindingFlags.GetField | BindingFlags.Public | BindingFlags.Instance);
+ if (field != null)
+ deserialized = field.GetValue (fieldHolder);
+ }