Exemple #1
0
        private void FillWordForms_Core(char *wordPart, List <WordForm_t> result)
        {
            if (!HasEndings())
            {
                return;
            }

            pair[] pairs;
            if (_Endings.TryGetValue((IntPtr)wordPart, out pairs))
            {
                for (int i = 0, len = pairs.Length; i < len; i++)
                {
                    var p            = pairs[i];
                    var partOfSpeech = p.BaseMorphoForm.PartOfSpeech;
                    var _base        = p.BaseMorphoForm.Base;
                    fixed(char **morphoFormsEnding = p.BaseMorphoForm.MorphoFormEndings)
                    {
                        for (int j = 0, mf_len = p.BaseMorphoForm.MorphoFormEndings.Length; j < mf_len; j++)
                        {
                            /// получение словоформы
                            var wordForm = StringsHelper.CreateWordForm(_base, *(morphoFormsEnding + j));

                            var wf = new WordForm_t(wordForm, partOfSpeech);
                            result.Add(wf);
                        }
                    }
                }
            }
        }
 /// получение нормальной формы
 public string GetNormalForm()
 {
     return(StringsHelper.CreateWordForm(_base, _morphoFormEndings[0]));
 }
 /// получение нормальной формы
 public string GetNormalForm() => StringsHelper.CreateWordForm(_Base, _MorphoFormEndings[0]);