d
This commit is contained in:
@@ -90,14 +90,36 @@ namespace Pilz.Cryptography
|
|||||||
|
|
||||||
public override bool Equals(object obj)
|
public override bool Equals(object obj)
|
||||||
{
|
{
|
||||||
|
var res = false;
|
||||||
var iD = obj as UniquieID<TargetType>;
|
var iD = obj as UniquieID<TargetType>;
|
||||||
var leftHasID = iD != null && iD.HasID;
|
|
||||||
var rightHasID = HasID;
|
|
||||||
|
|
||||||
if (leftHasID && rightHasID)
|
if (iD is object)
|
||||||
return _iD.Equals(iD._iD);
|
{
|
||||||
else
|
if (ReferenceEquals(res, iD))
|
||||||
return false;
|
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)
|
||||||
|
res = _iD.Equals(iD._iD);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override int GetHashCode()
|
public override int GetHashCode()
|
||||||
|
|||||||
Reference in New Issue
Block a user