本文整理汇总了C#中Db4objects.Db4o.Internal.ObjectContainerBase.StringIO方法的典型用法代码示例。如果您正苦于以下问题:C# ObjectContainerBase.StringIO方法的具体用法?C# ObjectContainerBase.StringIO怎么用?C# ObjectContainerBase.StringIO使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Db4objects.Db4o.Internal.ObjectContainerBase
的用法示例。
在下文中一共展示了ObjectContainerBase.StringIO方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: MarshalledLength
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;
}
示例2: MarshalledLength
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;
}
示例3: AssertNameRead
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));
}