public override bool Equals(object obj)
{
if (base.Equals(obj) && obj is GuidProperty)
{
var p = obj as GuidProperty;
if (Categories.Length == p.Categories.Length)
{
for (int i = 0; i < Categories.Length; i++)
if (Categories[i] != p.Categories[i])
return false;
return true;
}
}
return false;
}