I use this Spot brand chain guard. I run single speed or IGH so I have a double ring crankset using the inner ring 42T and outer is this guard. It's a really nicely made piece.
http://spotbrand.com/bikes/product-page/guards/
I will say this, In 6 years I've never gotten my pants leg stuck in the chain, BUT I don't think it's a guarantee, I wear shorts, kinickers and bike specific clothes a majority of the time. It is not a chain case, so it will not keep your pants leg clean or prevent it from touching the chain from time to time.
In summary, I think it reduces your chances of pant entanglements.