Developing a DataContainer - how?
I'm trying to start a project in XNA, but I want to beforehand develop certain tools in C# that will help creating the game. One of the first thing I thought I'd develop, or at least ask about (because it sounds more difficult than the others) is a data container. So I can develop tools that will create certain objects.
How can I develop a datacontainer from scratch that keeps track of what data is in it?
Say I have a datacontainer that allows "objects", no specific type but it should be able to search for a specific object of a type and find it and return it (as best it can).
Say I add 5 images, 3 text files, 2 sound files and when I execute DataContainer.Search("Image", "texture_wall.png") and it returns that Image.
It should therefor be able to store any Data, be serializable (so I can save it/open it from an external editing program) and keep track of what the data inside the Container is.
Any suggestions where to start or anything that is similiar? I know there's probably something like this already but I want to minimize the memory allocation by developing my own simpler Class for this task (if possible).
So simple:
* Datacontainer
+ Can be serialized
+ Can store different types of objects
+ Can order all these objects according to type and such
+ Can return these objects according to type and such
Any suggestions?