private static SetPropertyDelegate GetSetFieldMethod(TypeConfig typeConfig, FieldInfo fieldInfo) { if (fieldInfo.ReflectedType() != fieldInfo.DeclaringType) { fieldInfo = fieldInfo.DeclaringType.GetFieldInfo(fieldInfo.Name); } return(PclExport.Instance.GetSetFieldMethod(fieldInfo)); }
public static TypeAccessor Create(ITypeSerializer serializer, TypeConfig typeConfig, PropertyInfo propertyInfo) { return(new TypeAccessor() { PropertyType = propertyInfo.PropertyType, GetProperty = serializer.GetParseFn(propertyInfo.PropertyType), SetProperty = TypeAccessor.GetSetPropertyMethod(typeConfig, propertyInfo) }); }
public static TypeAccessor Create(ITypeSerializer serializer, TypeConfig typeConfig, FieldInfo fieldInfo) { return(new TypeAccessor() { PropertyType = fieldInfo.FieldType, GetProperty = serializer.GetParseFn(fieldInfo.FieldType), SetProperty = TypeAccessor.GetSetFieldMethod(typeConfig, fieldInfo) }); }