本文整理匯總了C#中System.Runtime.Serialization.ObjectManager.FindOrCreateObjectHolder方法的典型用法代碼示例。如果您正苦於以下問題:C# ObjectManager.FindOrCreateObjectHolder方法的具體用法?C# ObjectManager.FindOrCreateObjectHolder怎麽用?C# ObjectManager.FindOrCreateObjectHolder使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類System.Runtime.Serialization.ObjectManager
的用法示例。
在下文中一共展示了ObjectManager.FindOrCreateObjectHolder方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: UpdateDescendentDependencyChain
/*==========================UpdateTotalDependencyChain==========================
**Action: Updates the total list of dependencies to account for a fixup being added
** or completed in a child value class. This will update all value classes
** containing that child and the object which contains all of them.
**Returns: void
**Arguments: amount -- the amount by which to increment (or decrement) the dependency chain.
** manager -- The ObjectManager used to lookup other objects up the chain.
**Exceptions: None. Asserts only.
==============================================================================*/
private void UpdateDescendentDependencyChain(int amount, ObjectManager manager) {
ObjectHolder holder = this;
//This loop walks one more object up the chain than there are valuetypes. This
//is because we need to increment the TotalFixups in the holders as well.
do {
holder = manager.FindOrCreateObjectHolder(holder.ContainerID);
BCLDebug.Trace("SER", "[ObjectManager.UpdateDescendentDependencyChain]Looking for holder with id: ", holder.ContainerID);
BCLDebug.Assert(holder!=null, "[ObjectHolder.UpdateTotalDependencyChain]holder!=null");
holder.IncrementDescendentFixups(amount);
} while (holder.RequiresValueTypeFixup);
}
示例2: UpdateDescendentDependencyChain
private void UpdateDescendentDependencyChain(int amount, ObjectManager manager)
{
ObjectHolder holder = this;
do
{
manager.FindOrCreateObjectHolder(holder.ContainerID).IncrementDescendentFixups(amount);
}
while (holder.RequiresValueTypeFixup);
}