public IntPredicatesActor()
{
Receive<int>(i => i < 5, i => Sender.Tell("int<5:" + i, Self)); //Predicate first, when i < 5
Receive<int>(i => Sender.Tell("int<10:" + i, Self), i => i < 10); //Predicate after, when 5 <= i < 10
Receive<int>(i =>
{
if(i < 15)
{
Sender.Tell("int<15:" + i, Self);
return true;
}
return false;
}); //Func, when 10 <= i < 15
Receive<int>(i => Sender.Tell("int:" + i, Self), null); //Null predicate, when i >= 15
Receive<int>(i => Sender.Tell("ShouldNeverMatch:" + i, Self)); //The handler above should never be invoked
}
}