void 也是.NET中的一種類型,隻不過在C#中看不到“System.VOid”這種Type,而在IL這一層是可以看到的。
如果我們要通過反射判斷一個方法是否有傳回值,比較直覺的解決辦法好像是這樣:
MethodInfo originMethod =

;
if (originMethod.ReturnType != null)
{
//

}
然而運作後,你會發現,在任何情況下,originMethod.ReturnType的值始終不會為null,即使originMethod沒有傳回值--這種情況下,originMethod.ReturnType的結果是typeof(void)。是以,改成如下的方式即可:

if (originMethod.ReturnType != typeof(void))

void類型和其他Type一樣,是一種IL的基本類型。在反射或使用Emit動态生成程式集時要特别注意這一點。