2017-06-30 44 views
0

如果它們是從系統DLL中提取的(就像C/C++發送函數一樣),是否可以確定哪一個httpClient函數位於?是C#'使用system.X'導入時編譯時建立或從系統DLL運行時拉?

+2

「使用」關鍵字與dll無關。它只處理命名空間。一個或多個程序集/ dll中可能存在相同的名稱空間。但就裝配負荷而言,它們在朗姆輪胎期間被拉動。你可以反編譯DLL並看看 – acai

+0

謝謝澄清使用關鍵字。是否有可能找到httpClient函數被發現的DLL?類似於在ws2_32.dll中找到C/C++中的發送函數的方式 – Greenwolf

+0

不,不是。該框架使用了[DllImport]來完成工作。你必須足夠了解winapi管道知道[尋找WSASend](https://referencesource.microsoft.com/#q=wsasend)。或者問一下,我想。確實需要指出一點。 –

回答

1

using其實只是一個語法簡化器。它允許

using System; 
.. 
String foo = "hello"; 

,而不是

System.String foo = "hello"; 

沒有什麼花哨

+0

感謝您對using關鍵字的澄清。所以httpClient函數在DLL中並在運行時調用。是否有可能找到httpClient函數被發現的DLL?類似於在ws2_32.dll – Greenwolf

+0

打開的對象瀏覽器窗口中找到C/C++中的發送函數,並搜索該類。或者看看msdn,它會告訴你每個班級在 – pm100

0

創建HttpClient的一個新的對象。

HttpClient client = new HttpClient() 

右鍵單擊HttpClient並轉到定義。 它會告訴命名空間的名稱以及像Visual Studio這樣的預編譯的工具。

+0

(道歉,由於誤讀了這個問題而被認爲不是答案 - 這是非常奇怪的措詞)。儘管我通常更喜歡查找文檔... –