public void RegisterFunction(string name, Delegate function) { var call = new HostCall(name, function); lock (this) { Interlocked.Increment(ref m_NextId); call.Id = m_NextId; m_FunctionTableById.Add(call.Id, call); m_FuctionTableByName.Add(call.Name, call); } }