/// <summary> /// Compare ACE to another object. /// </summary> /// <param name="obj">The other object.</param> /// <returns>True if the other object equals this ACE</returns> public override bool Equals(object obj) { if (ReferenceEquals(obj, this)) { return(true); } Ace ace = obj as Ace; if (ace == null) { return(false); } return(ace.Type == Type && ace.Flags == Flags && ace.Sid == Sid && ace.Mask == Mask && ace.ObjectType == ObjectType && ace.InheritedObjectType == InheritedObjectType && ace.ServerSid == ServerSid && NtObjectUtils.EqualByteArray(ApplicationData, ace.ApplicationData)); }