public class Cat : Animal{
public class Dog :Animal {
public class Snake : Animal{
public static class AnimalFactory{
public static object CreateAnimal(string AnimalName){
Type type = Type.GetType(AnimalName);
var instance = Activator.CreateInstance(type);
public static class Program
var snake = AnimalFactory.CreateAnimal("Snake");
var dog = AnimalFactory.CreateAnimal("Dog");
var cat = AnimalFactory.CreateAnimal("Cat");
if(snake == null || dog == null || cat ==null ){
Console.WriteLine("Unable to Create all objects");
Console.WriteLine("All objects created");