您的位置:首页 > 产品设计 > UI/UE

C#队列泛型基类BaseQueue,访问索引器时自动创建类型实例

2011-01-19 16:46 651 查看
为了方便队列自动创建实例而做。

public class BaseQueue<T> : Queue<T>
{
public enum QueueState
{
Free = 0,
Busy = 1,
End = 2
}
private static readonly object Locker = new object();
#region = State =
private QueueState _state = QueueState.Free;
public QueueState State
{
get { return _state; }
set { _state = value; }
}
#endregion
#region = Instance =
private static BaseQueue<T> _instance;
public static BaseQueue<T> Instance
{
get
{
if (_instance == null)
{
lock (Locker)
{
if (_instance == null)
{
_instance = new BaseQueue<T>();
}
}
}
return _instance;
}
}
#endregion
private readonly IList<BaseQueue<T>> _instanceArray = new List<BaseQueue<T>>();
public BaseQueue<T> this[int index]
{
get
{
while (_instanceArray.Count <= index)
{
_instanceArray.Add((BaseQueue<T>)Activator.CreateInstance(typeof(BaseQueue<T>)));
}
return _instanceArray[index];
}
set
{
_instanceArray[index] = value;
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c# object null class