C++/CLI 'ToInt32': 不是 'System::UInt32' 的成员

C++/CLI 'ToInt32': is not a member of 'System::UInt32'

正如标题所说,我在尝试执行以下操作时遇到此错误...

DWORD nWritten = 0;
::WriteProcessMemory(GetCurrentProcess(), hookTarget, hookBytes, HLength, &nWritten);
Console::WriteLine(nWritten.ToInt32);

你只需要投DWORD:

System::Console::WriteLine((System::Int32)nWritten);

此处 DWORD 是本机的,但您试图对其使用托管方法,但该方法不起作用。

Chris O 的回答是正确的,在这种情况下最好直接转换。但我只是想补充一下,如果您想将 ToInt32 用于无法直接转换的类型或任何其他转换,它是 Convert::ToInt32()。 Intellisense 误导您认为您可以调用 MyVariable.ToInt32()。