Ejemplo n.º 1
0
        public static Bird CreateBird(BirdSpecies Species)
        {
            Bird animalObj = null;//Birdtype unknown at this time.

            //Lets determine users choice of animal.
            switch (Species)
            {
                case BirdSpecies.Crow:
                    animalObj = new Crow();
                    break;
                case BirdSpecies.Eagle:
                    animalObj = new Eagle();
                    break;
                case BirdSpecies.Penguin:
                    animalObj = new Penguin();
                    break;

                default:
                    Debug.Assert(false, "Not implemented");
                    break;
            }

            //Set animal category
            animalObj.Category = CategoryType.Bird;

            return animalObj;//Return created instance of object.
        }
Ejemplo n.º 2
0
        public static Bird CreateBird(BirdSpecies species)
        {
            //type not known at this time
            Bird animalObj = null;

            try
            {

                //type determined by late binding
                switch (species)
                {
                    case BirdSpecies.Eagle:

                         animalObj = new Eagle();//late binding

                        if (animalObj == null)
                        {
                            NonExistentAnimalTypeException ex = new NonExistentAnimalTypeException();

                            throw (ex);
                        }

                        break;

                    case BirdSpecies.Falcon:

                        animalObj = new Falcon();//late binding

                        if (animalObj == null)
                        {
                            NonExistentAnimalTypeException ex = new NonExistentAnimalTypeException();

                            throw (ex);
                        }

                        break;

                    case BirdSpecies.Duck:

                        animalObj = null;

                        if (animalObj == null)
                        {
                            NonExistentAnimalTypeException ex = new NonExistentAnimalTypeException();

                            throw (ex);
                        }

                        break;

                    default:

                        Debug.Assert(false, "to be completed");
                        break;
                }
            }
            //custom exception
            catch (Exception e)
            {
               e.Message.ToString();

               NonExistentAnimalTypeException ex = new NonExistentAnimalTypeException();

               throw (ex);

            }

                //set the category
                animalObj.Category = CategoryType.Bird;

            return animalObj;
        }
Ejemplo n.º 3
0
        public static Bird CreateBird(BirdSpecies species)
        {
            //type not known at this time
            Bird animalObj = null;

            try
            {
                //type determined by late binding
                switch (species)
                {
                case BirdSpecies.Eagle:


                    animalObj = new Eagle();     //late binding

                    if (animalObj == null)
                    {
                        NonExistentAnimalTypeException ex = new NonExistentAnimalTypeException();

                        throw (ex);
                    }


                    break;

                case BirdSpecies.Falcon:

                    animalObj = new Falcon();    //late binding

                    if (animalObj == null)
                    {
                        NonExistentAnimalTypeException ex = new NonExistentAnimalTypeException();

                        throw (ex);
                    }


                    break;

                case BirdSpecies.Duck:

                    animalObj = null;

                    if (animalObj == null)
                    {
                        NonExistentAnimalTypeException ex = new NonExistentAnimalTypeException();

                        throw (ex);
                    }

                    break;

                default:

                    Debug.Assert(false, "to be completed");
                    break;
                }
            }
            //custom exception
            catch (Exception e)
            {
                e.Message.ToString();

                NonExistentAnimalTypeException ex = new NonExistentAnimalTypeException();

                throw (ex);
            }

            //set the category
            animalObj.Category = CategoryType.Bird;



            return(animalObj);
        }