37 lines
736 B
C#
37 lines
736 B
C#
using System;
|
|
using System.Linq;
|
|
namespace ln.types.odb.values
|
|
{
|
|
public class ODBGuid : ODBValue
|
|
{
|
|
public ODBGuid()
|
|
:base(0x03)
|
|
{
|
|
Value = Guid.NewGuid();
|
|
}
|
|
public ODBGuid(Guid guid)
|
|
:this()
|
|
{
|
|
Value = guid;
|
|
}
|
|
|
|
public override byte[] ToStorage()
|
|
{
|
|
return AsGuid.ToByteArray();
|
|
}
|
|
|
|
static Guid FromByteArray(byte[] b,int offset)
|
|
{
|
|
byte[] s = new byte[16];
|
|
Array.Copy(b, offset, s, 0, 16);
|
|
return new Guid(s);
|
|
}
|
|
|
|
static ODBGuid()
|
|
{
|
|
RegisterDeserializer(0x03, (b,o,l) => FromByteArray(b,o));
|
|
}
|
|
|
|
}
|
|
}
|