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); }