예제 #1
0
 protected T GetId(VisitableStream stream)
 {
     if (ids.TryGetValue(stream, out T value))
     {
         return(value);
     }
     else
     {
         T newId = GenerateNewId();
         ids.Add(stream, newId);
         return(newId);
     }
 }
예제 #2
0
 public R Visit(VisitableStream stream)
 {
     return(stream.Accept(this));
 }