本文整理汇总了C#中ICmObject.ReferenceTargetCandidates方法的典型用法代码示例。如果您正苦于以下问题:C# ICmObject.ReferenceTargetCandidates方法的具体用法?C# ICmObject.ReferenceTargetCandidates怎么用?C# ICmObject.ReferenceTargetCandidates使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ICmObject
的用法示例。
在下文中一共展示了ICmObject.ReferenceTargetCandidates方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ShowDialogAndConvert
protected void ShowDialogAndConvert(int targetClassId)
{
// maybe there's a better way, but
// this creates a temporary LexEntryRef in a temporary LexEntry
var leFactory = m_cache.ServiceLocator.GetInstance<ILexEntryFactory>();
var entry = leFactory.Create();
var lerFactory = m_cache.ServiceLocator.GetInstance<ILexEntryRefFactory>();
var ler = lerFactory.Create();
entry.EntryRefsOS.Add(ler);
m_flid = LexEntryRefTags.kflidVariantEntryTypes;
m_obj = ler;
var labels = ObjectLabel.CreateObjectLabels(m_cache,
m_obj.ReferenceTargetCandidates(m_flid),
"LexEntryType" /*"m_displayNameProperty*/,
"best analysis");
using (SimpleListChooser chooser = GetChooser(labels, targetClassId))
{
chooser.Cache = m_cache;
chooser.SetObjectAndFlid(m_obj.Hvo, m_flid);
chooser.SetHelpTopic(s_helpTopic);
var tv = chooser.TreeView;
DisableNodes(tv.Nodes, targetClassId);
m_dlg.Visible = false; // no reason to show the utility dialog, too
var res = chooser.ShowDialog(m_dlg.FindForm());
if (res == DialogResult.OK && chooser.ChosenObjects.Any())
{
var itemsToChange = (from lexEntryType in chooser.ChosenObjects
where lexEntryType.ClassID != targetClassId
select lexEntryType).Cast<ILexEntryType>();
Convert(itemsToChange);
}
}
entry.Delete(); // remove the temporary LexEntry
m_dlg.Visible = true; // now we show the utility dialog again
}