Ejemplo n.º 1
0
        //can deal with singular and plural
        private Noun parseNoun(String[] subStrings)
        {
            String[] currentParamater;
            //make new descriptor

            Noun result = new Noun();

            try
            {
                //start looping
                foreach (String element in subStrings)
                {
                    currentParamater = element.Split('=');

                    switch (currentParamater[0].Trim().ToLower())
                    {
                    case "noun":
                        //ignore
                        break;

                    case "singular":
                        result.setSingular(currentParamater[1].Trim());
                        break;

                    case "plural":
                        result.setPlural(currentParamater[1].Trim());
                        break;

                    case "countable":
                        result.setCountable(parseBoolean(currentParamater[1].Trim()));
                        break;

                    default:
                        throw new FileLoadException("Syntax error loading noun " + result.noun.ToUpper() + ".");
                    }
                }
            }//end try

            catch (FileLoadException ex)
            {
                throw ex;                //throw it up to higher level
            }
            catch (ArgumentException ex) //thrown by incorrect enum parsing
            {
                throw ex;                //throw it up
            }

            return(result);
        }