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

Reply via email to