public virtual int RegisterId() { int id = CurrentId; ReferencesByGuid.Add(id, new ReferenceNode()); CurrentId++; return(id); }
public virtual int RegisterId(int id) { if (id == 0) { throw new ArgumentNullException("id"); } CurrentId = id + 1; ReferencesByGuid.Add(id, new ReferenceNode()); return(id); }
public virtual int RegisterId(object obj) { if (obj == null) { throw new ArgumentNullException("obj"); } int id = CurrentId; CurrentId++; ReferencesByGuid.Add(id, new ReferenceNode(obj)); ReferencesByInstance[obj] = id; return(id); }