If you only have the assembly, and if you parse the solution with Roslyn, you can find the TypeDeclarationSyntax for which there's a DeclaredSymbol matching the fullname of your type.
An easier solution otherwise is to use the debug symbol if you have them. Make sure you read the symbols: https://github.com/jbevain/cecil/wiki/Debug-symbols And then, some instructions in your type's methods will have a SequencePoint mapping to a point in a document with a filename. You can then parse this file. Warning, some types are defined in multiple files. Some methods even have a body spread accross multiple files. Jb On Mon, Nov 3, 2014 at 1:21 PM, vexe <[email protected]> wrote: > Thanks both for your replies. > > GetMembers/GetFields do seem to return fields in their original order, but > in my case I also have properties, GetMembers then yields different results. > For ex replacing the Transform t to Transform t { get; set; } and doing > typeof(MyType).GetMembers().Foreach(Console.WriteLine) showed the property > at the top, and then the fields, at least on my machine. So it seems I need > the source approach. > > Do you happen to know of any reliable way to get the source code of a class? > Only way I can think of is, given a Type I search the project's files for a > match against the Type's name, which implies that the type name must match > its file. Ideas? > > Cheers! > > -- > -- > -- > mono-cecil > --- > You received this message because you are subscribed to the Google Groups > "mono-cecil" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. -- -- -- mono-cecil --- You received this message because you are subscribed to the Google Groups "mono-cecil" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
