本文整理汇总了C#中Messenger.Unsubscribe方法的典型用法代码示例。如果您正苦于以下问题:C# Messenger.Unsubscribe方法的具体用法?C# Messenger.Unsubscribe怎么用?C# Messenger.Unsubscribe使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Messenger
的用法示例。
在下文中一共展示了Messenger.Unsubscribe方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Messager_Unsubscription_Test
public void Messager_Unsubscription_Test(int countSend)
{
var subscriber1 = new FakeSubscriber();
var subscriber2 = new FakeSubscriber();
var message = new FakeOneMessage { Text = "Test message" };
var messenger = new Messenger();
byte firstSubscriberNumber = 0;
byte secondSubscriberNumber = 0;
messenger.Subscribe<FakeOneMessage>(subscriber1, (s, m) =>
{
firstSubscriberNumber++;
messenger.Unsubscribe<FakeOneMessage>(subscriber1);
});
messenger.Subscribe<FakeOneMessage>(subscriber2, (s, m) =>
{
secondSubscriberNumber++;
});
for (int i = 0; i < countSend; i++)
{
messenger.Send(message);
}
Assert.AreEqual(1, firstSubscriberNumber);
Assert.AreEqual(countSend, secondSubscriberNumber);
}
示例2: UnsubscribingDoesNotAffectOtherSubscribers
public void UnsubscribingDoesNotAffectOtherSubscribers()
{
var callbackCountOne = 0;
var callbackCountTwo = 0;
var messenger = new Messenger();
var mockMessage = new Mock<Message>(this);
Action<Message> messageHandlerOne = message => callbackCountOne++;
Action<Message> messageHandlerTwo = message => callbackCountTwo++;
messenger.Subscribe(messageHandlerOne);
messenger.Subscribe(messageHandlerTwo);
messenger.Publish(mockMessage.Object);
Assert.IsTrue(callbackCountOne == 1);
Assert.IsTrue(callbackCountTwo == 1);
messenger.Unsubscribe(messageHandlerOne);
messenger.Publish(mockMessage.Object);
Assert.IsTrue(callbackCountOne == 1);
Assert.IsTrue(callbackCountTwo == 2);
}
示例3: WhenSubscribedTwiceMustUnsubscribeTwice
public void WhenSubscribedTwiceMustUnsubscribeTwice()
{
var callbackCount = 0;
var messenger = new Messenger();
var mockMessage = new Mock<Message>(this);
Action<Message> messageHandler = message => callbackCount++;
messenger.Subscribe(messageHandler);
messenger.Subscribe(messageHandler);
messenger.Publish(mockMessage.Object);
Assert.IsTrue(callbackCount == 2);
messenger.Unsubscribe(messageHandler);
messenger.Publish(mockMessage.Object);
Assert.IsTrue(callbackCount == 3);
messenger.Unsubscribe(messageHandler);
messenger.Publish(mockMessage.Object);
Assert.IsTrue(callbackCount == 3);
}
示例4: UnsubscribingStopsMessagesBeingRecieved
public void UnsubscribingStopsMessagesBeingRecieved()
{
var callbackCount = 0;
var messenger = new Messenger();
var mockMessage = new Mock<Message>(this);
Action<Message> messageHandler = message => callbackCount++;
messenger.Subscribe(messageHandler);
messenger.Publish(mockMessage.Object);
Assert.IsTrue(callbackCount == 1);
messenger.Unsubscribe(messageHandler);
messenger.Publish(mockMessage.Object);
Assert.IsTrue(callbackCount == 1);
}