예제 #1
0
        public List <string> GenerateWordforms(int entryId, List <int> coordId, List <int> stateId)
        {
            var npairs = coordId.Count;
            var pairs  = new int[npairs * 2];

            for (int i = 0, j = 0; i < npairs; ++i)
            {
                pairs[j++] = coordId[i];
                pairs[j++] = stateId[i];
            }

            var res  = new List <string>();
            var hStr = GrammarApi.sol_GenerateWordforms(_engine, entryId, npairs, pairs);

            if (hStr != (IntPtr)0)
            {
                var nstr = GrammarApi.sol_CountStrings(hStr);
                for (var k = 0; k < nstr; ++k)
                {
                    res.Add(GrammarApi.sol_GetStringFX(hStr, k));
                }

                GrammarApi.sol_DeleteStrings(hStr);
            }

            return(res);
        }