public override int MarshalledLength(ObjectContainerBase stream, ClassAspect aspect ) { int len = stream.StringIO().ShortLength(aspect.GetName()); if (aspect is FieldMetadata) { FieldMetadata field = (FieldMetadata)aspect; if (field.NeedsArrayAndPrimitiveInfo()) { len += 1; } if (!(field is VirtualFieldMetadata)) { len += Const4.IdLength; } } return len; }
public virtual int MarshalledLength(ObjectContainerBase stream, ClassMetadata clazz ) { IntByRef len = new IntByRef(stream.StringIO().ShortLength(clazz.NameToWrite()) + Const4.ObjectLength + (Const4.IntLength * 2) + (Const4.IdLength)); len.value += clazz.Index().OwnLength(); clazz.TraverseDeclaredAspects(new _IProcedure4_108(this, len, stream)); return len.value; }
private static void AssertNameRead(ObjectContainerBase localObjectContainer, string originalName, string newName) { var originalBytes = localObjectContainer.StringIO().Write(originalName); var updatedClassNameBytes = Platform4.UpdateClassName(originalBytes); Assert.AreEqual(newName, localObjectContainer.StringIO().Read(updatedClassNameBytes)); }