public void ReadFrom(ObjectReader reader) { FieldType = (TypeFullDescriptor)reader.ReadType(); DeclaringType = (TypeFullDescriptor)reader.ReadType(); Name = reader.PrimitiveReader.ReadString(); UnderlyingFieldInfo = DeclaringType.UnderlyingType.GetField(Name, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); }
private void ReadTypeStamp(ObjectReader reader) { TypeAssembly = reader.ReadAssembly(); GenericFullName = reader.PrimitiveReader.ReadString(); var genericArgumentsCount = reader.PrimitiveReader.ReadInt32(); genericArguments = new List <TypeDescriptor>(); for (int i = 0; i < genericArgumentsCount; i++) { genericArguments.Add(reader.ReadType()); } Resolve(); }
private void ReadStructureStamp(ObjectReader reader, VersionToleranceLevel versionToleranceLevel) { baseType = reader.ReadType(); var noOfFields = reader.PrimitiveReader.ReadInt32(); for (int i = 0; i < noOfFields; i++) { var fieldDescriptor = new FieldDescriptor(this); fieldDescriptor.ReadFrom(reader); fields.Add(fieldDescriptor); } FieldsToDeserialize = VerifyStructure(versionToleranceLevel); cache[UnderlyingType] = this; }