我有一个正在尝试从.net c#使用的c++项目。主要的问题是在c++中我有类似这样的东西
static const GUID guid ={ 0x4be732d4, 0x3244, 0x4ad3, { 0x92, 0xbd, 0xf2, 0x80, 0x9d, 0xf0, 0x96, 0xf6 } };
HRESULT ActivateItem(String^ Name, String^ Var )
{
hr = Item->SetId(&guid);
StartItem(&guid);
}
From C# would be ActivateItem("someName", "someVar");我需要在c#中创建GUID才能在DB中使用它,但是System.Guid显然与_GUID不同,而我在C++中相当糟糕。
有人能帮上忙吗?
提前谢谢你,
发布于 2017-03-07 00:48:26
关于如何做到这一点,请注意,代码也可以在C++/ MSDN supplies a handy tutorial需要时使用。
要从_GUID转换,请执行以下操作:
System::Guid FromGUID(_GUID& guid) {
return System::Guid(guid.Data1, guid.Data2, guid.Data3,
guid.Data4[0], guid.Data4[1],
guid.Data4[2], guid.Data4[3],
guid.Data4[4], guid.Data4[5],
guid.Data4[6], guid.Data4[7] );
} 要转换回_GUID,请执行以下操作:
_GUID ToGUID(System::Guid& guid) {
array<Byte>^ guidData = guid.ToByteArray();
pin_ptr<Byte> data = &(guidData[0]);
return *(_GUID*)data;
} https://stackoverflow.com/questions/15482853
复制相似问题