Hi Jb, don't get me wrong on all the stuff I'm asking about, Cecil is a very powerful, well designed library and does an awesome job. And even though there's no documentation available, it's easily usable if one knows a few bits about IL.
Cecil certainly does almost all things right, especially when you compare that to System.Reflection, which of course fits a different purpose too. In my scenario I have a lot of Interop between Cecil and S.R, so the differences between the two models are something I have to worry about. I know that there might be a lot of reasons not to follow the S.R. conventions, however it would be nice if some of the design decisions that went into that part could be explained? There's a couple of areas where Cecil is different: - 1 dimensional array: [] instead of [*] - Nested classes are separated using / instead of + - Generics arguments are wrapped using <> instead of [] Is that just a "debugger-convenience" thing? Kind regards, Johannes On Wed, Sep 15, 2010 at 12:49 PM, Jb Evain <[email protected]> wrote: > On Wed, Sep 15, 2010 at 1:40 PM, Johannes Rudolph > <[email protected]> wrote: > > 1. Importing a 1-dimensional array will always result in a vector. > There's > > no way to import a 1-dimensional, 0-based array (nor have I found a way > to > > create one). > > Only if you import from the SR type system, which doesn't expose the > information. > > > 2. If a 1-dimensional, 0-based array is not a vector, the Suffix should > show > > [*] instead of [] (that's the System.Reflection behavior at least) > > Cecil doesn't follow the System.Reflection naming scheme. > > -- > Jb Evain <[email protected]> > > -- > -- > mono-cecil -- -- mono-cecil
