public Mammal CreateSpecific(Type type, MammalTypes mammalEnumType)
    {
        var mammalInstance = (Mammal)Activator.CreateInstance(type);

        return(mammalInstance.Is(mammalEnumType) ? mammalInstance : null);
    }
 public abstract bool Is(MammalTypes mammalType);
 public Mammal Create(MammalTypes mammalType)
 {
     return(_mammalTypes
            .Select(type => CreateSpecific(type, mammalType))
            .First(mammal => mammal != null));
 }
Exemplo n.º 4
0
 // other specific members
 public override bool Is(MammalTypes mammalType)
 {
     return(mammalType == MammalTypes.Cat);
 }