如何制作一个行为类似Session[]集合的集合?C#
本文关键字:集合 Session 何制作 一个 | 更新日期: 2023-09-27 18:28:51
我迫切需要在ASP.NET中镜像Session集合的行为(根据检索项时的行为)。我在这方面花了很长时间,但迄今为止一无所获。
会话类似于Dictionary,不同之处在于,如果您访问会话而该值不存在,则会得到null
,而不是它抛出异常。这就是我需要复制的全部内容。
我试图重写索引器以添加一个null检查,但它抛出了一个堆栈溢出异常:
public class CriteriaCollection : Dictionary<string, object>
{
private object GetData(string key)
{
object value = null;
if (this.ContainsKey(key))
{
value = this[key];
}
return value;
}
private void SetData(string key, object value)
{
this[key] = value;
}
public new object this[string key]
{
get { return GetData(key); }
set { SetData(key, value); }
}
}
创建了自己的索引器后,需要在自己的代码中调用旧的索引器。
将代码中的this[key]
替换为base[key]
。