本文整理汇总了C#中ICmObject.GetObjectInAtomicField方法的典型用法代码示例。如果您正苦于以下问题:C# ICmObject.GetObjectInAtomicField方法的具体用法?C# ICmObject.GetObjectInAtomicField怎么用?C# ICmObject.GetObjectInAtomicField使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ICmObject
的用法示例。
在下文中一共展示了ICmObject.GetObjectInAtomicField方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetFeatureStructureFromOwner
private static IFsFeatStruc GetFeatureStructureFromOwner(ICmObject obj, int flid)
{
IFsFeatStruc fs = obj.GetObjectInAtomicField(flid) as IFsFeatStruc;
return fs;
}
示例2: AddAtomicNode
private NodeTestResult AddAtomicNode(ArrayList path, XmlNode node, ObjSeqHashMap reuseMap, string editor,
int flid, ICmObject obj, int indent, ref int insertPosition, bool fTestOnly,
string layoutName, bool fVisIfData, XmlNode caller)
{
// Facilitate insertion of an expandable tree node representing an owned or ref'd object.
if (flid == 0)
throw new ApplicationException("field attribute required for atomic properties " + node.OuterXml);
ICmObject innerObj = obj.GetObjectInAtomicField(flid);
m_monitoredProps.Add(new KeyValuePair<int, int>(obj.Hvo, flid));
if (fVisIfData && innerObj == null)
return NodeTestResult.kntrNothing;
if (fTestOnly)
{
if (innerObj != null || XmlUtils.GetOptionalAttributeValue(node, "ghost") != null)
return NodeTestResult.kntrSomething;
else
return NodeTestResult.kntrPossible;
}
path.Add(node);
if(innerObj != null)
{
string layoutOverride = XmlUtils.GetOptionalAttributeValue(node, "layout", layoutName);
path.Add(innerObj.Hvo);
insertPosition = CreateSlicesFor(CmObject.CreateFromDBObject(m_cache, innerObj.Hvo),
layoutOverride, indent, insertPosition, path, reuseMap, caller);
path.RemoveAt(path.Count - 1);
}
else
{
// No inner object...do we want a ghost slice?
if (XmlUtils.GetOptionalAttributeValue(node, "ghost") != null)
{
MakeGhostSlice(path, node, reuseMap, obj, flid, caller, indent, ref insertPosition);
}
}
path.RemoveAt(path.Count - 1);
return NodeTestResult.kntrNothing;
}