public bool Equals(LayerIdentity other) { if (IdentityType != other.IdentityType) { return(false); } switch (IdentityType) { case LayerIdentityType.File: return(Filename.EqualsIgnoreCase(other.Filename)); case LayerIdentityType.OgrDatasource: return(Connection.EqualsIgnoreCase(other.Connection) && Query.EqualsIgnoreCase(other.Query) && (GeometryType == other.GeometryType || GeometryType == GeometryType.None || other.GeometryType == GeometryType.None) && ZValueType == other.ZValueType); } return(false); }