I knew that changing the System.Object will harm assumptions of the
CLR but not that it has this assumptions on other Classes. how can i
find all the classes, enums, etc that has these assumptions?

What if i do all my modifications on the copied assembly as i
described before and change in my original application all the
references for Classes from mscorlib to refer to the same type from my
modified assembly, meaning i will manualy change IL instruction like:
newarr  [mscorlib]System.Int32

into:
newarr [myassembly]System.Int32

would that work? (assuming no assumption are made on Int32 by the CLR)

On 30 אוקטובר, 17:34, "Lotfi Gheribi" <[EMAIL PROTECTED]> wrote:
> Hi,
>
> I don't think that a modified mscorlib assembly could ever run properly
> since the CLR use some "assumptions" concerning the layout of most primitive
> types like System.Object or System.String, valuetypes & enums, arrays...etc.
>
> If you add a field to these types it would break these assumptions
> (especially concerning JIT compiler optimizations).
--~--~---------~--~----~------------~-------~--~----~
--
mono-cecil
-~----------~----~----~----~------~----~------~--~---

Reply via email to