/// <summary> /// Compare for <see cref="FileSystem.Path"/> equality. /// </summary> /// <param name="x"></param> /// <param name="y"></param> /// <returns></returns> public bool Equals(IFileSystem x, IFileSystem y) { // Handle null if (x == null && y == null) { return(true); } // Compare if (x is FileProviderSystem xFileSystem && y is FileProviderSystem yFileSystem) { IFileProvider xFileProvider = xFileSystem.FileProvider, yFileProvider = yFileSystem.FileProvider; // Handle null if (xFileProvider == null && yFileProvider == null) { return(true); } // Handle on enull if (xFileProvider == null || yFileProvider == null) { return(false); } // Compare providers return(xFileProvider.Equals(yFileProvider)); } // Did not apply return(false); }