protected bool Equals(ExportAddInConfiguration config)
 {
     return(string.Equals(SessionExportPath, config.SessionExportPath) &&
            string.Equals(Environment, config.Environment) &&
            AutoExportSessions.Equals(config.AutoExportSessions) &&
            UseUniqueFilenames.Equals(config.UseUniqueFilenames) &&
            string.Equals(MetricsToExport, config.MetricsToExport) &&
            EnableLogMessageExport.Equals(config.EnableLogMessageExport) &&
            LogMessageFormat == config.LogMessageFormat &&
            MinimumSeverity == config.MinimumSeverity &&
            IncludeSessionSummary.Equals(config.IncludeSessionSummary) &&
            IncludeExceptionDetails.Equals(config.IncludeExceptionDetails));
 }
 public override int GetHashCode()
 {
     unchecked
     {
         var hashCode = (SessionExportPath != null ? SessionExportPath.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (Environment != null ? Environment.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ AutoExportSessions.GetHashCode();
         hashCode = (hashCode * 397) ^ UseUniqueFilenames.GetHashCode();
         hashCode = (hashCode * 397) ^ (MetricsToExport != null ? MetricsToExport.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ EnableLogMessageExport.GetHashCode();
         hashCode = (hashCode * 397) ^ (int)LogMessageFormat;
         hashCode = (hashCode * 397) ^ (int)MinimumSeverity;
         hashCode = (hashCode * 397) ^ IncludeSessionSummary.GetHashCode();
         hashCode = (hashCode * 397) ^ IncludeExceptionDetails.GetHashCode();
         return(hashCode);
     }
 }