Uma*_*ani 121 .net c# com uuid visual-studio-2008
我正在以编程方式创建.idl文件.如何以编程方式为接口和方法创建UUID.
我可以通过编程方式生成UUID吗?
Tud*_*dor 184
你可能正在寻找System.Guid.NewGuid().
Ben*_*her 41
注意:虽然.NET Guid和(RFC4122)UUID的字符串表示相同,但存储格式不相同..NET在前三个Guid部分以小端字节进行交易.
如果要传输字节(例如,作为base64),则不能只使用Guid.ToByteArray()和编码它.你需要Array.Reverse前三个部分(Data1-3).
我是这样做的:
var rfc4122bytes = Convert.FromBase64String("aguidthatIgotonthewire==");
Array.Reverse(rfc4122bytes,0,4);
Array.Reverse(rfc4122bytes,4,2);
Array.Reverse(rfc4122bytes,6,2);
var guid = new Guid(rfc4122bytes);
Run Code Online (Sandbox Code Playgroud)
有关特定.NET实现的详细信息,请参阅此答案.
编辑:感谢Code Ranger的Jeff Walker指出内部与进出字节数组构造函数的字节数组的格式无关ToByteArray().