public T Request() { T item; if (_items.Count == 0) { var creator = Spawner ?? Activator.CreateInstance <T>; item = creator.Call(); if (item == null) { throw new InvalidOperationException("RequestReturnPool spawner returned a null object reference."); } } else { item = _items.Pop(); } ItemRequested.Call(item); return(item); }
public EventExamples() { OrderProcessed?.Invoke(null, EventArgs.Empty); ItemRequested?.Invoke(null, new VendingRequestArgs(1)); ItemProcessed?.Invoke(null, new VendingRequestArgs(99)); }