Beispiel #1
0
        public override object Read(ref ProtoReader.State state, object value)
        {
            bool isFirst = Interlocked.Increment(ref _deserializeCount) == 1;

            if (isFirst)
            {
                RuntimeTypeModel.OnDebugLog("Pre first read", typeof(T));
            }
            value = state.ReadBaseType <TBase, T>(TypeHelper <T> .FromObject(value));
            if (isFirst)
            {
                RuntimeTypeModel.OnDebugLog("Post first read", typeof(T));
            }
            return(value);
        }
Beispiel #2
0
        T ISerializer <T> .Read(ref ProtoReader.State state, T value)
        {
            bool isFirst = Interlocked.Increment(ref _deserializeCount) == 1;

            if (isFirst)
            {
                RuntimeTypeModel.OnDebugLog("Pre first read", typeof(T));
            }
            value = state.ReadBaseType <TBase, T>(value);
            if (isFirst)
            {
                RuntimeTypeModel.OnDebugLog("Post first read", typeof(T));
            }
            return(value);
        }
Beispiel #3
0
 public override object Read(ref ProtoReader.State state, object value)
 {
     return(state.ReadBaseType <TBase, T>(TypeHelper <T> .FromObject(value)));
 }
Beispiel #4
0
 T ISerializer <T> .Read(ref ProtoReader.State state, T value)
 {
     return(state.ReadBaseType <TBase, T>(value));
 }
Beispiel #5
0
 public override T Read(ref ProtoReader.State state, T value)
 => state.ReadBaseType <TBase, T>(value);