0

应该使用什么设计模式在 C# 中创建自己的对象容器,目的是存储和检索任何类型的对象、字符串等

4

1 回答 1

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");
于 2013-01-03T13:29:00.400 回答