Inside Microsoft .NET IL Assembler

Global Methods

Global methods, similar to global fields, are defined outside any class scope. Most of the features of global fields and global methods are also similar: global methods are all static, and the accessibility flags for both mean the same.

Of course, one global method worth a special mention is the global class constructor, .cctor. As the preceding chapter discussed, a global .cctor is the best way to initialize global fields. The following code snippet from the sample file Gcctor.il on the companion CD provides an example:

.field private static string Hello .method private static void .cctor( ) {    ldstr "Hi there! What's up?"    stsfld string Hello    ret} .method public static void Exec( ) {    .entrypoint    ldsfld string Hello // Global fields are accessible                        // within the module    call void [mscorlib]System.Console::WriteLine(string)    ret }

Категории