Ejemplo n.º 1
0
        public static IPeopleReader GetReader()
        {
            if (savedReader?.GetType() == readerType)
            {
                return(savedReader);
            }

            object readerObject = Activator.CreateInstance(readerType);

            savedReader = readerObject as IPeopleReader;
            if (savedReader is null)
            {
                throw new InvalidOperationException(
                          $"readerType '{readerType}' does not implement 'IPeopleReader'");
            }

            return(savedReader);
        }
Ejemplo n.º 2
0
        public static void DisplayPeople()
        {
            try
            {
                IPeopleReader reader = IReaderFactory.GetReader();
                Console.WriteLine(reader.GetType());

                var people = reader.GetPeople();
                foreach (var person in people)
                {
                    Console.WriteLine(person);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine($"{ex.GetType()}:\n   {ex.Message}");
            }
            finally
            {
                Console.WriteLine("===================");
            }
        }