public Maybe <TItem> MaybeGetItem <TItem>(TypedKey <TItem> key) where TItem : TItemBase { TypedKey erasedKey = key; Maybe <TItemBase> result = MaybeGetItem(erasedKey); if (result.HasValue) { return(Maybe.Return((TItem)result.Value)); } return(Maybe.Nothing); }
public Maybe <T> MaybeGetItem(TypedKey key) { return(_items.GetValue(key.Type)); }
public void RemoveItem(TypedKey key) { _items.Remove(key.Type); }
public void AddItem(TypedKey key, T item) { _items[key.Type] = item; }
public void AddItem <TItem>(TypedKey <TItem> key, TItem item) where TItem : TItemBase { TypedKey erasedKey = key; AddItem(erasedKey, item); }
public void RemoveItem <TItem>(TypedKey <TItem> key) { TypedKey erasedKey = key; RemoveItem(erasedKey); }