/// <summary> /// Internally used to know type of set operation to use. /// </summary> public UpdateOperationType GetSetOperationType() { if (MemberType.GetTypeInfo().IsValueType) { if (BlittableHelper.IsBlittable(MemberType)) { if (Size == 4) { return(UpdateOperationType.ConditionalSetBlittableField4); } if (Size == 8) { return(UpdateOperationType.ConditionalSetBlittableField8); } if (Size == 12) { return(UpdateOperationType.ConditionalSetBlittableField12); } if (Size == 16) { return(UpdateOperationType.ConditionalSetBlittableField16); } return(UpdateOperationType.ConditionalSetBlittableField); } return(UpdateOperationType.ConditionalSetStructField); } else { return(UpdateOperationType.ConditionalSetObjectField); } }
/// <inheritdoc/> internal override UpdateOperationType GetSetOperationType() { if (MemberType.GetTypeInfo().IsValueType) { if (BlittableHelper.IsBlittable(MemberType)) { return(UpdateOperationType.ConditionalSetBlittablePropertyBase); } return(UpdateOperationType.ConditionalSetStructPropertyBase); } else { return(UpdateOperationType.ConditionalSetObjectCustom); } }