Un'eccellente introduzione a MSIL scritta da Kenny Kerr in una serie di post. Per stimolarvi l'appetito, qualche spunto:
- "Unlike C#, CLI does not have any requirement that a method must belong to a class."
- "It is also possible to omit the variable names. In that case you would refer to the variables by their zero-based index in the declaration."
- "You must declare a constructor for a concrete reference type. Unlike languages like C# and C++, the IL assembler will not generate a constructor for you automatically."
- "The CLI does not recognize namespaces as a distinct concept. Rather the full type name is always used."
- "If no base type is specified, the IL assembler will add the extend clause to make the type inherit from the System.Object type from the mscorlib assembly, resulting in a reference type."
- "The .class directive is perhaps not the best name for it."
- "The runtime is not looking at the type of the local variable you declared but rather the type of the object being referenced."