void
Microsoft .NET Frameworkでは、戻り型は構造体であることに気付きました。なんで?
...
public void TestMethod()
{
}
...
フレームワークは、リフレクションで使用するreturntypeキーワードを表すために呼び出される値型を使用します。System.Void
void
戻り値がvoid
ないことを意味しますが、それでも技術的には型であり、コードでそのように表現されるためには、構造(値型)またはクラス(参照型)のいずれかである必要があります。
例についてはを参照MethodInfo.ReturnType
してください。
フレームワークの設計者がSystem.Void
クラスではなく構造を作成することを選択した理由については、誰もが推測できますが、そもそも型で表す必要があります。他の最適化の中でも、参照ルックアップに通常関連する不要なオーバーヘッドを回避するためであるというコメントに同意します。