public override bool Equals(object obj) { if (!(obj is BacnetAddress)) { return(false); } var d = (BacnetAddress)obj; if (adr == null && d.adr == null) { return(true); } if (adr == null || d.adr == null) { return(false); } if (adr.Length != d.adr.Length) { return(false); } if (adr.Where((t, i) => t != d.adr[i]).Any()) { return(false); } // Modif FC if (RoutedSource == null && d.RoutedSource != null) { return(false); } // DAL if (RoutedDestination == null && d.RoutedDestination != null) { return(false); } if (d.RoutedSource == null && RoutedSource == null && d.RoutedDestination == null && RoutedDestination == null) { return(true); } bool rv = RoutedSource?.Equals(d.RoutedSource) ?? false; rv |= RoutedDestination?.Equals(d.RoutedDestination) ?? false; return(rv); }
public override bool Equals(object obj) { if (!(obj is BacnetAddress)) { return(false); } var d = (BacnetAddress)obj; if (adr == null && d.adr == null) { return(true); } if (adr == null || d.adr == null) { return(false); } if (adr.Length != d.adr.Length) { return(false); } if (adr.Where((t, i) => t != d.adr[i]).Any()) { return(false); } // Modif FC if ((RoutedSource == null) && (d.RoutedSource != null)) { return(false); } if ((d.RoutedSource == null) && (RoutedSource == null)) { return(true); } return(RoutedSource?.Equals(d.RoutedSource) ?? false); }