public void Dispose_Unsubscribes_All_Registered_Subscribers() { var messageChannel = new MessageChannel(); var subscriber1 = messageChannel.Subscribe <string>(); var subscriber2 = messageChannel.Subscribe <int>(); var subscriber3 = messageChannel.Subscribe <object>(); var subscriber4 = messageChannel.Subscribe <object>(); messageChannel.Dispose(); Assert.False(messageChannel.IsSubscribed(subscriber1)); Assert.False(messageChannel.IsSubscribed(subscriber2)); Assert.False(messageChannel.IsSubscribed(subscriber3)); Assert.False(messageChannel.IsSubscribed(subscriber4)); }
/// <summary> /// </summary> /// <param name="disposing"></param> /// {lease both managed and unmanaged resources; /// <c>false</c> /// to} protected override void Dispose(bool disposing) { if (_disposed) { return; } if (disposing) { if (MessageChannel != null) { MessageChannel.MessageReceived -= Channel_MessageReceived; MessageChannel.Dispose( ); MessageChannel = null; } } _disposed = true; base.Dispose(disposing); }