ln.types/odb/values/ODBGuid.cs

24 lines
596 B
C#

using System;
using System.Linq;
namespace ln.types.odb.values
{
public class ODBGuid : ODBValue
{
public ODBGuid()
:base(0x03, Guid.NewGuid())
{}
public ODBGuid(Guid guid)
:base(0x03,guid)
{}
public override byte[] GetStorageBytes() => As<Guid>().ToByteArray();
protected override int compare(ODBEntity other) => ((Guid)Value).CompareTo((other as ODBGuid).Value);
static ODBGuid()
{
RegisterDeserializer(0x03, (b, o, l) => new ODBGuid(new Guid(b.Slice(o, 16))));
}
}
}