本文整理汇总了C#中Db4objects.Db4o.Internal.ObjectReference.BeginProcessing方法的典型用法代码示例。如果您正苦于以下问题:C# ObjectReference.BeginProcessing方法的具体用法?C# ObjectReference.BeginProcessing怎么用?C# ObjectReference.BeginProcessing使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Db4objects.Db4o.Internal.ObjectReference
的用法示例。
在下文中一共展示了ObjectReference.BeginProcessing方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Delete3
internal void Delete3(Transaction trans, ObjectReference @ref, object obj, int cascade
, bool userCall)
{
// The passed reference can be null, when calling from Transaction.
if (@ref == null || [email protected]())
{
return;
}
// This check is performed twice, here and in delete2, intentionally.
if (BreakDeleteForEnum(@ref, userCall))
{
@ref.EndProcessing();
return;
}
if ([email protected]())
{
@ref.EndProcessing();
return;
}
ClassMetadata yc = @ref.ClassMetadata();
// We have to end processing temporarily here, otherwise the can delete callback
// can't do anything at all with this object.
@ref.EndProcessing();
ActivateForDeletionCallback(trans, yc, @ref, obj);
if (!ObjectCanDelete(trans, yc, @ref))
{
return;
}
@ref.BeginProcessing();
if (DTrace.enabled)
{
DTrace.Delete.Log(@ref.GetID());
}
if (Delete4(trans, @ref, obj, cascade, userCall))
{
ObjectOnDelete(trans, yc, @ref);
if (ConfigImpl.MessageLevel() > Const4.State)
{
Message(string.Empty + @ref.GetID() + " delete " + @ref.ClassMetadata().GetName()
);
}
}
@ref.EndProcessing();
}