>>>>Create a hashmap where the key is the value of the metadata.
Hashmap = Java
Hashtable = .NET
Basically, create a collection of Name/Value pairs (ex. System.Collections.Hashtable, or the strongly typed System.Collections.Generic.Dictionary<> or System.Collections.Generic.KeyValuePair<>). The value can even be another object (or structure); set the name to the name of the property.
You should be able to find a ton of docs on using the above classes; if you run into a problem, just ask.
The elements in the hashtable or collection can be referenced by name,
System.Collections.Hashtable table = new Hashtable();
table.Add("Sample", 5);
int value = (int)table["Sample"]; // value will be set to 5.
There are a bunch of different classes available for variations of the above; which one you use depends on how you need to be able to use it and what type of functionality is important.