有没有一种标准的.NET类加载器工作方式?

Pac*_*ier 3 .net c# vb.net static-constructor classloader

有没有一种标准的.NET类加载器工作方式?

说我编译这段代码:

Option Strict On : Option Explicit On

Module Module1
    Sub Main()
        System.Diagnostics.Debug.WriteLine("Main")
        Dim g = C.A
    End Sub
End Module

Public Class C
    Shared Sub New()
        System.Diagnostics.Debug.WriteLine("Init C")
    End Sub
    Shared Property A As New A
End Class

Public Class A
    Shared Sub New()
        System.Diagnostics.Debug.WriteLine("Init A")
    End Sub
    Public Sub New()
        System.Diagnostics.Debug.WriteLine("A Constructor")
    End Sub
End Class
Run Code Online (Sandbox Code Playgroud)

我可以保证编译后的代码(在所有实现的平台中)都有以下输出吗?

Main
Init A
A Constructor
Init C
Run Code Online (Sandbox Code Playgroud)

Jon*_*Jon 5

是的,调用静态和实例构造函数的顺序是语言规范的一部分.所有符合要求的编译器应为此程序发出相同的IL.