当前位置: 首页>>代码示例>>C#>>正文


C# IDefragmentContext.Defragment方法代码示例

本文整理汇总了C#中IDefragmentContext.Defragment方法的典型用法代码示例。如果您正苦于以下问题:C# IDefragmentContext.Defragment方法的具体用法?C# IDefragmentContext.Defragment怎么用?C# IDefragmentContext.Defragment使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IDefragmentContext的用法示例。


在下文中一共展示了IDefragmentContext.Defragment方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Defragment

		public override void Defragment(IDefragmentContext context)
		{
			int payLoadOffSet = context.ReadInt();
			if (payLoadOffSet == 0)
			{
				return;
			}
			int savedOffSet = context.Offset();
			context.Seek(payLoadOffSet);
			int classMetadataId = context.CopyIDReturnOriginalID();
			ITypeHandler4 typeHandler = CorrectTypeHandlerVersionFor(context, classMetadataId
				);
			if (typeHandler != null)
			{
				if (IsPlainObject(typeHandler))
				{
					context.CopySlotlessID();
				}
				else
				{
					SeekSecondaryOffset(context, typeHandler);
					context.Defragment(typeHandler);
				}
			}
			context.Seek(savedOffSet);
		}
开发者ID:bvangrinsven,项目名称:db4o-net,代码行数:26,代码来源:OpenTypeHandler7.cs

示例2: Defragment

		public virtual void Defragment(IDefragmentContext context)
		{
			DefragmentElementHandlerId(context);
			ITypeHandler4 handler = ReadElementTypeHandler(context, context);
			int elementCount = context.ReadInt();
			for (int i = 0; i < elementCount; i++)
			{
				context.Defragment(handler);
			}
		}
开发者ID:superyfwy,项目名称:db4o,代码行数:10,代码来源:GenericCollectionTypeHandler.cs

示例3: Defragment

		public virtual void Defragment(IDefragmentContext context)
		{
			int payLoadOffSet = context.ReadInt();
			if (payLoadOffSet == 0)
			{
				return;
			}
			int savedOffSet = context.Offset();
			context.Seek(payLoadOffSet);
			try
			{
				int classMetadataId = context.CopyIDReturnOriginalID();
				ITypeHandler4 typeHandler = CorrectTypeHandlerVersionFor(context, classMetadataId
					);
				if (typeHandler == null)
				{
					return;
				}
				SeekSecondaryOffset(context, typeHandler);
				if (IsPlainObject(typeHandler))
				{
					context.Defragment(new PlainObjectHandler());
				}
				else
				{
					context.Defragment(typeHandler);
				}
			}
			finally
			{
				context.Seek(savedOffSet);
			}
		}
开发者ID:Galigator,项目名称:db4o,代码行数:33,代码来源:OpenTypeHandler.cs

示例4: Defragment

		public void Defragment(IDefragmentContext context)
		{
			context.Defragment(TypeHandler());
		}
开发者ID:Galigator,项目名称:db4o,代码行数:4,代码来源:PSObjectTypeHandler.cs

示例5: DefragmentSlot

		public void DefragmentSlot(IDefragmentContext context)
		{
			if (IsUntypedByteArray(context))
			{
				return;
			}
			int classIdOffset = context.TargetBuffer().Offset();
			ArrayInfo info = NewArrayInfo();
			ReadInfo(context.Transaction(), context, info);
			DefragmentWriteMappedClassId(context, info, classIdOffset);
			int elementCount = info.ElementCount();
			if (HasNullBitmap(info))
			{
				BitMap4 bitMap = ReadNullBitmap(context, elementCount);
				elementCount -= ReducedCountForNullBitMap(elementCount, bitMap);
			}
			ITypeHandler4 correctTypeHandlerVersion = CorrectHandlerVersion(context, _handler
				, info);
			for (int i = 0; i < elementCount; i++)
			{
				context.Defragment(correctTypeHandlerVersion);
			}
		}
开发者ID:Orvid,项目名称:SQLInterfaceCollection,代码行数:23,代码来源:ArrayHandler.cs

示例6: Defragment

		public virtual void Defragment(IDefragmentContext context)
		{
			KeyValueHandlerPair handlers = ReadKeyValueTypeHandlers(context, context);
			int elementCount = context.ReadInt();
			for (int i = elementCount; i > 0; i--)
			{
				context.Defragment(handlers._keyHandler);
				context.Defragment(handlers._valueHandler);
			}
		}
开发者ID:erdincay,项目名称:db4o,代码行数:10,代码来源:MapTypeHandler.cs


注:本文中的IDefragmentContext.Defragment方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。