Exemplo n.º 1
0
 public R GetOrElse <R>(IPointish p, Func <T, R> extractor, Func <IPointish, R> elze)
 {
     if (Dic.TryGetValue(p, out var v))
     {
         return(extractor(v));
     }
     return(elze(p));
 }
Exemplo n.º 2
0
        public T GetNew(IPointish p, Action <T> initNew = null)
        {
            if (Dic.TryGetValue(p, out var v))
            {
                return(v);
            }
            var foo = new T
            {
                Pos = (P)p
            };

            initNew?.Invoke(foo);

            Add(foo);
            return(foo);
        }