SIL.FieldWorks.IText.ConcordanceControl.GetHvoOfMsaPartOfSpeech C# (CSharp) Méthode

GetHvoOfMsaPartOfSpeech() private static méthode

Get the hvo(s) for the Part of Speech for the various subclasses of MSA. N.B. If we add new subclasses or rearrange the class hierarchy, this will need to change.
private static GetHvoOfMsaPartOfSpeech ( IMoMorphSynAnalysis msa ) : List
msa IMoMorphSynAnalysis
Résultat List
		private static List<int> GetHvoOfMsaPartOfSpeech(IMoMorphSynAnalysis msa)
		{
			var result = new List<int>();
			ICmPossibility pos;
			if (msa is IMoInflAffMsa)
			{
				pos = ((IMoInflAffMsa) msa).PartOfSpeechRA;
				if (pos != null)
					result.Add(pos.Hvo);
			}
			if (msa is IMoStemMsa)
			{
				pos = ((IMoStemMsa) msa).PartOfSpeechRA;
				if (pos != null)
					result.Add(pos.Hvo);
			}
			if (msa is IMoDerivAffMsa)
			{
				var derivMsa = ((IMoDerivAffMsa) msa);
				pos = derivMsa.ToPartOfSpeechRA;
				if (pos != null)
					result.Add(pos.Hvo);
				pos = derivMsa.FromPartOfSpeechRA;
				if (pos != null)
					result.Add(pos.Hvo);
			}
			if (msa is IMoDerivStepMsa)
			{
				pos = ((IMoDerivStepMsa)msa).PartOfSpeechRA;
				if (pos != null)
					result.Add(pos.Hvo);
			}
			if (msa is IMoUnclassifiedAffixMsa)
			{
				pos = ((IMoUnclassifiedAffixMsa)msa).PartOfSpeechRA;
				if (pos != null)
					result.Add(pos.Hvo);
			}
			return result;
		}