private void Unregister(IDispatchee dispatchee) { dispatchee.ThrowIfNull(nameof(dispatchee)); dispatchee.UniqueId.ThrowIfEmpty(nameof(dispatchee.UniqueId)); _uniquelyNamedDispatchees.Remove(dispatchee.UniqueId); }
internal string Register(IDispatchee dispatchee) { dispatchee.ThrowIfNull(nameof(dispatchee)); var uniqueId = dispatchee.UniqueId.IsNullOrEmpty() ? GenerateUniqueId(dispatchee) : dispatchee.UniqueId; EnsureToUnregisterExistingDispatchee(dispatchee, uniqueId); _uniquelyNamedDispatchees[uniqueId] = dispatchee; return uniqueId; }