public virtual int RegisterId() { int id = CurrentId; ReferencesByGuid.Add(id, new ReferenceNode()); CurrentId++; return(id); }
public virtual bool IsRegistered(int id) { if (id == 0) { throw new ArgumentNullException("id"); } return(ReferencesByGuid.ContainsKey(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); }
public virtual MemberReferenceList MemberReferences(int id) { if (id == 0) { throw new ArgumentNullException("id"); } ReferenceNode value; if (!ReferencesByGuid.TryGetValue(id, out value)) { throw new ReferenceException(string.Format("No reference exists for id {0}", id)); } return(value.References); }
public object GetObject(int id) { if (id == 0) { throw new ArgumentNullException("id"); } ReferenceNode value; if (!ReferencesByGuid.TryGetValue(id, out value)) { throw new ReferenceException(string.Format("No object exists for id {0}", id)); } return(value.SourceObject); }