У меня есть ситуация, когда я хотел бы иметь свойство члена в моем классе, которое использует обобщенный c Queue<T>
, предоставленный. Net, однако, мой тип также является generi c.
Например:
Я хочу объявить, что мой класс со свойством member является экземпляром Queue;
public class SomeServiceThing: Singleton<SomeServiceThing>
{
private Queue<SomeType<T>> = new Queue<SomeType<T>>();
....
private void EnqueueEvent<T>(SomeType<T> _event)
{
pendingEvents.Enqueue(_event);
lastEventQueued = DateTime.Now;
}
private void Update()
{
if (someConditionIsMet)
{
// flush the queue and perform an operation with each pending event
}
}
}
Полученная ошибка компилятора: «Не удается разрешить символ« T »» , что имеет смысл, поскольку T не может быть получен при создании экземпляра класса, но тогда я хотел бы спросить, как бы вы go об использовании Queue таким образом, когда сам T имеет обобщенный c параметр?