public override void Evaluate(int index) { switch (cardSet [index].suit) { case Card.Suit.Spade: Straight.EvaluateStraight(ref results, cardSet[index], ref bucketSpades, ref specialSpades, filter); break; case Card.Suit.Heart: Straight.EvaluateStraight(ref results, cardSet[index], ref bucketHearts, ref specialHearts, filter); break; case Card.Suit.Club: Straight.EvaluateStraight(ref results, cardSet[index], ref bucketClubs, ref specialClubs, filter); break; case Card.Suit.Diamond: Straight.EvaluateStraight(ref results, cardSet[index], ref bucketDiamonds, ref specialDiamonds, filter); break; } }