コード例 #1
0
        public override void Marshall(MarshallingContext context, object obj)
        {
            // alive needs to be checked by all callers: Done
            IUpdateDepth updateDepth = context.UpdateDepth();

            if (obj != null && CascadeOnUpdate(context.ClassConfiguration()))
            {
                context.UpdateDepth(AdjustUpdateDepthForCascade(obj, updateDepth));
            }
            context.WriteObjectWithCurrentState(GetHandler(), obj);
            context.UpdateDepth(updateDepth);
            if (HasIndex())
            {
                context.AddIndexEntry(this, obj);
            }
        }