Checking Line-Of-Sight

Say I have a player object, an enemy object, and some obstacles. What would be the easiest and/or best way to do a check and see if the player’s line-of-sight to the enemy is not blocked? Should I use the drawing API to draw a line between the two and see if the obstacles are hitting it? Or is there a better way using the Math.Atan2() function and checking to see if any of the objects are in that path? Thanks in advance.