我正在使用C#.NET 4編寫的Windows服務中的DllImport加載用Delphi 7編寫的.dll文件。在部署此服務之前,我只想確保不需要執行任何特殊操作來處理非託管.dll文件。如果/當DllImport被多次調用時會發生什麼?
我的C#代碼看起來是這樣的:
[DllImport("MyDelphiDLL.dll")]
private static extern string DoSomething(string value);
private void SomeMethod(List<string> values)
{
foreach (string value in values)
{
string newValue = DoSomething(value);
}
}
的DoSomething
函數將被調用多次,並且我嫌疑是MyDelphiDLL.dll只被載入既可以當管理.dll文件被加載,或首先參考DoSomething,但我不確定。
我已經看過MSDN上的DllImportAttribute Class文檔,但它並沒有真正說明某種方式。我也搜索過,並且以我能想到的方式搜索這個問題,但仍然沒有找到明確的答案。
我只是想確保我正確地做到這一點。
它只會被加載一次,發生在第一次調用函數時。 –
@HansPassant有哪些說法呢? –