public void Run()
{
IDictionary dictionary = new Hashtable
{
{"Name", "RAM"},
};
var factory = new DictionaryAdapterFactory();
var part = factory.GetAdapter<IComputerPart>(dictionary);
Console.WriteLine("Original Name: {0}", part.Name);
part.Name = "Random Access Memory";
Console.WriteLine("New Name: {0}", dictionary["Name"]);
}