本文整理汇总了C#中SIL.FieldWorks.FDO.FdoCache.GetMultiUnicodeAlt方法的典型用法代码示例。如果您正苦于以下问题:C# FdoCache.GetMultiUnicodeAlt方法的具体用法?C# FdoCache.GetMultiUnicodeAlt怎么用?C# FdoCache.GetMultiUnicodeAlt使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SIL.FieldWorks.FDO.FdoCache
的用法示例。
在下文中一共展示了FdoCache.GetMultiUnicodeAlt方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AddStringFromOtherObj
internal static string[] AddStringFromOtherObj(XmlNode frag, int hvoTarget, FdoCache cache)
{
int flid = XmlVc.GetFlid(frag, hvoTarget, cache);
ITsStrFactory tsf = TsStrFactoryClass.Create();
FieldType itype = cache.GetFieldType(flid);
if ((itype == FieldType.kcptUnicode) ||
(itype == FieldType.kcptBigUnicode))
{
return new string[] {cache.GetUnicodeProperty(hvoTarget, flid)};
}
else if ((itype == FieldType.kcptString) ||
(itype == FieldType.kcptBigString))
{
return new string[] { cache.GetTsStringProperty(hvoTarget, flid).Text };
}
else // multistring of some type
{
int wsid = 0;
string sep = "";
if (s_cwsMulti > 1)
{
string sLabelWs = XmlUtils.GetOptionalAttributeValue(frag, "ws");
if (sLabelWs != null && sLabelWs == "current")
{
sep = DisplayMultiSep(frag, cache)
+ DisplayWsLabel(s_qwsCurrent, cache);
wsid = s_qwsCurrent.WritingSystem;
}
}
if (wsid == 0)
wsid = LangProject.GetWritingSystem(frag, cache, null, LangProject.kwsAnal);
if ((itype == FieldType.kcptMultiUnicode) ||
(itype == FieldType.kcptMultiBigUnicode))
{
return new string[] {sep, cache.GetMultiUnicodeAlt(hvoTarget, flid, wsid, null) };
}
else
{
return new string[] {sep, cache.GetMultiStringAlt(hvoTarget, flid, wsid).Text };
}
}
}