예제 #1
0
 public A Generate <A>(atom name, Func <atom, int, int, A> build)
 {
     if (_alreadyAssignedCount.ContainsKey(name))
     {
         return(build(name, _alreadyAssignedCount[name], _alreadyAssignedAbs[name]));
     }
     return(_generator.Generate(name, (p, n, abs) =>
     {
         _alreadyAssignedCount[p] = n;
         _alreadyAssignedAbs[p] = abs;
         return build(p, n, abs);
     }));
 }