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; } } }
相关文章推荐
- Java SE 7新特性:创建泛型实例时自动类型推断
- Java SE 7新特性:创建泛型实例时自动类型推断
- Java SE 7新特性:创建泛型实例时自动类型推断
- C#实现windows服务安装,服务名可配置时出问题(无法创建 ProjectInstaller 安装程序类型的实例)
- C# winform 模拟键盘输入自动接入访问网络的实例
- Java SE7新特性之泛型实例创建时的类型推断
- 用索引器简化的C#类型信息访问
- c#匿名类型最简单的例子 自动帮助我们创建类
- 通过索引器简化C#类型信息访问
- Java SE7新特性之泛型实例创建时的类型推断
- [C#基础]用反射、泛型读取xml后动态创建实例并赋值
- 黑马程序员---泛型实例创建的类型推断
- 用索引器简化的C#类型信息访问
- 使用C#的泛型队列Queue实现生产消费模式
- 通过索引器简化C#类型信息访问
- More Effective C# Item7 : 不要为基类或者接口创建泛型的特殊实现
- C# 利用反射创建类型实例的时候报错 MissingMethodException
- 生成代码从T到T1、T2、Tn自动生成多个类型的泛型实例代码
- 泛型约束where条件的使用(通过类型参数动态反射创建实例)
- C# 抽象类的继承类可直接访问基类的实例对象