我已經在C#中編寫了一個dll,提供了一個可供使用的類。該DLL由我編寫的C程序調用。 (它是一些程序的插件,我必須用C語言編寫插件的代碼,但我想使用.NET的功能,因此是dll)。如何在C#dll中保留一個對象「持久化」?
在DLL中,我想開一個流和做其他的東西,應該是兩次調用DLL之間持續。以下代碼由私有成員Connector表示。
namespace myCSharpDll
{
// the c++ program calls this methods
public interface IAccess
{
double Initialize();
double Timestep(double time, double[] values);
...
}
// E is the beginning of another program my dll should connect to, therefore the names
public class EAccess : IAccess
{
// EConnector is another class I defined in the same dll
private EConnector Connector;
public double InitializeE()
{
Connector = new EPConnector();
}
public double Timestep(double time, double[] values)
{
return Connector.Connect();
}
當我調用InitializeE()和更高版本到Timestep()時,Connector oject指向NULL。
我有什麼做的,當我打電話時步()從我的C代碼,我可以訪問連接的創建之前實例?
我大概是在錯誤的方向搜索。任何提示都表示讚賞。
請向我們展示您的C++代碼。另外,C!= C++。 – SLaks
已解決。謝謝大家。感謝SLaks - 通過我的C/C++代碼向你展示給我看的錯誤。/Stackoverflow不讓我發佈答案,因爲我沒有收集到足夠的聲望點。但它會讓我在8小時內。然後我發佈答案。 – Teetrinker