Ejemplo n.º 1
0
        private ObjectPool <IPoolable> GetOrCreatePool(Type type)
        {
            ObjectPool <IPoolable> pool;

            if (poolDict.ContainsKey(type))
            {
                pool = poolDict[type];
            }
            else
            {
                pool = new ObjectPool <IPoolable>(() => {
                    return(CreateInstanceMethod(type));
                });
                poolDict.Add(type, pool);

                pool.DisposeInstanceMethod += (IPoolable instance) => {
                    DisposeInstanceMethod?.Invoke(instance);
                };
                pool.GetInstanceMethod += (IPoolable instance) => {
                    GetInstanceMethod?.Invoke(instance);
                };
                pool.ReturnInstanceMethod += (IPoolable instance) => {
                    ReturnInstanceMethod?.Invoke(instance);
                };
            }

            return(pool);
        }
Ejemplo n.º 2
0
        public ToolStripMenuItem AddCheckableMenuItem(string text, Arg1Delegate <bool> OnClick = null)
        {
            ToolStripMenuItem item = null;

            item = new ToolStripMenuItem(text, null, (object sender, EventArgs e) => {
                item.Checked = !item.Checked;
                OnClick?.Invoke(item.Checked);
            });
            Menu.Items.Add(item);

            return(item);
        }