0
我有一個測試,我正在寫MSTest,這是託管C++,我試圖測試一個非託管類。具體來說,我試圖使用PrivateObject類來調用私有方法。如何將用戶定義的非託管類型轉換爲託管類型?
這是我到目前爲止的代碼:
CUnmanagedType foo;
PrivateObject privateFoo = gcnew PrivateObject(foo);
CString strFromFoo = privateFoo.Invoke("ARandomPrivateMethod");
當我編譯我得到一個錯誤foo是不是可轉換到System ::類型^。我已經嘗試做以下事情:
PrivateObject privateFoo = gcnew PrivateObject((gcnew System::Type^(foo)));
但這不起作用,因爲System :: Type ^是一種抽象類型。有任何想法嗎?
我已經看了這些問題,但是他們使用預先定義的類型,而不是用戶定義的: How to convert a unmanaged double to a managed string? Conversion between managed and unmanaged types in C++?