我不知道這是不是個好主意。我在C#中使用了非託管DLL(由我編寫)。在非託管DLL中存儲「託管」上下文參數
有一些回調函數可以在DLL中設置,但這些回調函數只能映射到C#端的靜態類成員。
因爲我想對特定的類實例進行回調操作,所以我想知道將類實例指針存儲在DLL的狀態信息中是否安全。
從DLL的角度來看,這將簡單地是一個32位的上下文整數,但是從C#側這將是一個實際的類「指針」或「參考」,用回調簽名定義像這樣:
public delegate void StatusChangeHandler(ContextClass context, int someCallbackValue);
它編譯,它似乎工作,我只是不知道這是否有保證。這是一種可接受的做法嗎?
mange =寄生蟎引起的持續性皮膚病? – spender
糟糕!錯字現在已更正。 – user1073363