using System.Collections.Generic;
public static void Main()
Dictionary<string, IObject> dictionary = new Dictionary<string, IObject>();
dictionary.Add("CounterA", new ACounter());
dictionary.Add("FiéldB", new BField());
var item = dictionary["FiéldB"];
public abstract class ABase : IObject
public abstract void ExecuteObject();
public class ACounter : ABase
public override void ExecuteObject()
Console.WriteLine("Executing ACounter");
public class BField : ABase
public override void ExecuteObject()
Console.WriteLine("Executing BField");