You seem a little confused here:
player.CollisionDetection(player, cars);
Car cars;
Player player;
class Player
{
...
public void CollisionDetection(Rectangle player, Rectangle car)
{
if (player.IntersectsWith(car))
...
So, since Player isn't related to Rectangle, you can't pass it to your collision detection method.
Which is probably something to do with the error message you get: your Player class does not implement IntersectsWith so you can't call it.
I think you need to take a step back, and look at deriving some of your classes from base classes, possibly rectangle (though I suspect that would be a poor move - I would have an abstract "Sprite" class or similar to derive both from, which might happen to contain a rectangle, or possibly a Region for later use, and which does the collision detection for derived classes)