This commit is contained in:
schedpas
2021-11-30 11:46:59 +01:00
parent a7de6c7bd6
commit 1f12af2a68

View File

@@ -90,14 +90,36 @@ namespace Pilz.Cryptography
public override bool Equals(object obj)
{
var res = false;
var iD = obj as UniquieID<TargetType>;
var leftHasID = iD != null && iD.HasID;
if (iD is object)
{
if (ReferenceEquals(res, iD))
res = true;
else
{
var leftHasID = iD.HasID;
var rightHasID = HasID;
if (!leftHasID && iD.GenerateOnGet)
{
iD.Generate();
leftHasID = iD.HasID;
}
if (!rightHasID && GenerateOnGet)
{
Generate();
rightHasID = HasID;
}
if (leftHasID && rightHasID)
return _iD.Equals(iD._iD);
else
return false;
res = _iD.Equals(iD._iD);
}
}
return res;
}
public override int GetHashCode()