Question

Is there a way in .NET 3.0 (or earlier) to get a string representation of a method? I know that I can get an IL byte array from a MethodBody object, but I'm interested in getting a string that essentially represents the method body as it appears to my eyes in VS.

I've poked around in the CodeDom namespace to see if there was a way to convert methods to CodeMemberMethods at runtime, but I've come up dry so far.

Any thoughts?

Was it helpful?

Solution

That is very complex work. Basically, you'd be looking at re-writing reflector in your code... and don't forget that not all IL can be reversed.

The short answer is "no, nothing built in".

Even expression trees (from lambdas) can't be fully reversed back to appropriate strings easily.

OTHER TIPS

Try poking around with reflector API (you might want to check if that is still available after Red Gate took it over).

Still even if you succeed you will loose some of the original information like local variable names, comments or some formatting.

Basically everything that is thrown away during compilation is lost for good.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top