本文整理汇总了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);
}