应该使用什么样的设计模式在C#中创建自己的Object Container,目的是存储和检索任何类型的对象,字符串等
答案 0 :(得分:2)
听起来你正在寻找一个缓存,你可以创建一个围绕Dictionary<TKey, TValue>
的包装器,例如
public class ObjectContainer
{
private Dictionary<string, object> cache;
public ObjectContainer()
{
cache = new Dictionary<string, object>();
}
public T Fetch<T>(string name)
{
object value;
cache.TryGetValue(name, out value);
return (T)value;
}
public void Add(string name, object value)
{
cache.Add(name, value);
}
}
...
var cache = new ObjectContainer();
cache.Add("data1", 12345);
cache.Add("data2", new ClassName());
var intData = cache.Fetch<int>("data1");
var objData = cache.Fetch<ClassName>("data2");