TouchAndWriteTypeId() private method

private TouchAndWriteTypeId ( Type type ) : int
type System.Type
return int
Ejemplo n.º 1
0
 public void WriteTypeStamp(ObjectWriter writer)
 {
     writer.TouchAndWriteAssemblyId(TypeAssembly);
     writer.PrimitiveWriter.Write(GenericFullName);
     writer.PrimitiveWriter.Write(genericArguments.Count);
     foreach (var genericArgument in genericArguments)
     {
         writer.TouchAndWriteTypeId(genericArgument.UnderlyingType);
     }
 }
Ejemplo n.º 2
0
        private void WriteStructureStamp(ObjectWriter writer)
        {
            if (baseType == null)
            {
                writer.PrimitiveWriter.Write(Consts.NullObjectId);
            }
            else
            {
                writer.TouchAndWriteTypeId(baseType.UnderlyingType);
            }

            writer.PrimitiveWriter.Write(fields.Count);
            foreach (var field in fields)
            {
                field.WriteTo(writer);
            }
        }
 public void WriteTo(ObjectWriter writer)
 {
     writer.TouchAndWriteTypeId(FieldType.UnderlyingType);
     writer.TouchAndWriteTypeId(DeclaringType.UnderlyingType);
     writer.PrimitiveWriter.Write(Name);
 }
Ejemplo n.º 4
0
 private static void WriteObjectUsingReflection(ObjectWriter objectWriter, PrimitiveWriter primitiveWriter, object o)
 {
     objectWriter.TouchAndWriteTypeId(o.GetType());
     // the primitiveWriter and parameter is not used here in fact, it is only to have
     // signature compatible with the generated method
     Helpers.InvokeAttribute(typeof(PreSerializationAttribute), o);
     try
     {
         var type = o.GetType();
         objectWriter.currentlyWrittenTypes.Push(type);
         if(!objectWriter.WriteSpecialObject(o))
         {
             objectWriter.WriteObjectsFields(o, type);
         }
         objectWriter.currentlyWrittenTypes.Pop();
     }
     finally
     {
         Helpers.InvokeAttribute(typeof(PostSerializationAttribute), o);
         var postHook = Helpers.GetDelegateWithAttribute(typeof(LatePostSerializationAttribute), o);
         if(postHook != null)
         {
             objectWriter.postSerializationHooks.Add(postHook);
         }
     }
 }