你知道 typeof void 嗎?

2022-03-02 01:03:55 字數 513 閱讀 2602

void 也是.net中的一種型別,只不過在c#中看不到「system.void」這種type,而在il這一層是可以看到的。

如果我們要通過反射判斷乙個方法是否有返回值,比較直觀的解決辦法好像是這樣:    

methodinfo originmethod 

=;if

(originmethod.returntype 

!=null

)然而執行後,你會發現,在任何情況下,originmethod.returntype的值始終不會為null,即使originmethod沒有返回值--這種情況下,originmethod.returntype的結果是typeof(void)。所以,改成如下的方式即可:

methodinfo originmethod 

=;if

(originmethod.returntype 

!=typeof(void)

)void型別和其他type一樣,是一種il的基本型別。在反射或使用emit動態生成程式集時要特別注意這一點。

你知道Python 嗎?

python 是乙個高層次的結合了解釋性 編譯性 互動性和物件導向的指令碼語言。python 的設計具有很強的可讀性,相比其他語言經常使用英文關鍵字,其他語言的一些標點符號,它具有比其他語言更有特色語法結構。python 是一種解釋型語言 這意味著開發過程中沒有了編譯這個環節。類似於php和perl...

你知道CSS Hack嗎?

一般來說是針對不同的瀏覽器寫不同的css,就是 css hack。css hack常見的有三種形式 屬性hack 選擇符hack 條件注釋hack,hack主要針對ie瀏覽器 例如 1 條件hack color red 條件注釋只有在ie瀏覽器下才能執行,這個 在非ie瀏覽下被當做注釋視而不見。可以...

你知道PORT嗎?

在tcp協議中,有埠 port 的概念,很多人都不知道埠到底是什麼。之前介紹過實體地址,也就是網絡卡位址,做個不恰當的比喻,實體地址 mac 位址,相當於身份證 唯一 家庭位址是幾幢幾單元相當於ip位址,那麼如果送快遞的話,還是不能夠得知你的具體位址,無法將快遞送達,因為一幢樓的乙個單元裡的住戶很多...