コード例 #1
0
ファイル: StructHandler.cs プロジェクト: xiangzhi/psi
        internal override void UntypedDeserialize(BufferReader reader, ref object target, SerializationContext context)
        {
            T typedTarget = default(T);

            if (target is T)
            {
                typedTarget = (T)target;
            }
            else
            {
                target = (object)default(T); // when the target is of a different type, we have to allocate a new object (via boxing)
            }

            context.AddDeserializedObject(target);
            this.innerSerializer.Deserialize(reader, ref typedTarget, context);
            CopyToBox(typedTarget, ref target, context);
        }
コード例 #2
0
ファイル: StructHandler.cs プロジェクト: xiangzhi/psi
 internal override void UntypedSerialize(BufferWriter writer, object instance, SerializationContext context)
 => this.innerSerializer.Serialize(writer, (T)instance, context);
コード例 #3
0
ファイル: StructHandler.cs プロジェクト: xiangzhi/psi
 public override void Clear(ref T target, SerializationContext context)
 => this.innerSerializer.Clear(ref target, context);
コード例 #4
0
ファイル: StructHandler.cs プロジェクト: xiangzhi/psi
 public override void Clone(T instance, ref T target, SerializationContext context)
 => this.innerSerializer.Clone(instance, ref target, context);
コード例 #5
0
ファイル: StructHandler.cs プロジェクト: xiangzhi/psi
 public override void Deserialize(BufferReader reader, ref T target, SerializationContext context)
 => this.innerSerializer.Deserialize(reader, ref target, context);
コード例 #6
0
ファイル: StructHandler.cs プロジェクト: xiangzhi/psi
 public override void Serialize(BufferWriter writer, T instance, SerializationContext context)
 => this.innerSerializer.Serialize(writer, instance, context);