Ejemplo n.º 1
0
    public Mammal CreateSpecific(Type type, MammalTypes mammalEnumType)
    {
        var mammalInstance = (Mammal)Activator.CreateInstance(type);

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