我正在使用C# .NET 4编写的Windows服务中的DllImport加载一个用Delphi 7编写的.dll文件。在部署此服务之前,我只想确保我不需要做任何特殊处理来处理非托管的.dll文件。
我的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 类文档,但它并没有明确说明。我还在 Stack Overflow 上进行了搜索,并谷歌了所有我能想到的问题,但仍然没有找到明确的答案。
我只是想确保我的做法是正确的。