我是 c# 的新手,如果你能帮我解决我的问题,我会学徒。
我有一个非托管的 dll,我编写了以下包装类来访问它的成员。
unsafe public class EpaNet:IDisposable
{
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
protected virtual void Dispose(bool disposing)
{
EpaNet.ENclose();
}
[DllImport("epanet2.dll")]
public static extern int ENepanet(string Inputfile, string ReportFile, string OutputFile,byte[] N );
[DllImport("epanet2.dll")]
public static extern int ENopen(string Inputfile, string Reportfile, string Outputfile);
some other functions ....
}
并使用这个类,我只是写
EpaNet.ENopen(...)
这将使我能够访问 dll 成员。当我在单线程中运行我的代码时,这个包装器工作正常。当我想让这个 dll 的多个实例以并行模式运行时,问题就开始了。因为所有成员都是静态的,因此在顺序模式下我不需要实例化,但对于并行模式,我必须有这个类的各种实例,每个实例都使用单独的数据文件,我不知道该怎么做。
所以问题是如何创建 EpaNet 类的各种实例?
问候,
e