Question: iam developing WPF product. I want to protect my .net source code from reverse enginering 
Please advice me

Answer: 
You would use an obfuscator. There are a lot of them on the market, just google.  

For example, Visual Studio used to ship with the [Dotfuscator Community Edition](http://www.preemptive.com/products/dotfuscator). I never used it, so I can't say anything about its quality.  

This blog post shows the possible ways to try to prevent reverse engineering: <http://blogs.msdn.com/b/ericgu/archive/2004/02/24/79236.aspx>
You can use FxProtect obfuscator. It successfully supports WPF and Silverlight obfuscation.

You can try it... **[.NET Obfuscator](http://www.maycoms.net)**