/// <summary>
 /// Gets an XOR based hash code based on the contents of this object.
 /// </summary>
 public override int GetHashCode()
 {
     return(base.GetHashCode() ^
            SourceId.GetHashCode() ^
            (SourceAssemblyName != null ? SourceAssemblyName.GetHashCode() : 0) ^
            EventDate.GetHashCode() ^
            (Message != null ? Message.GetHashCode() : 0) ^
            (ErrorTypeFullName != null ? ErrorTypeFullName.GetHashCode() : 0) ^
            (StackTrace != null ? StackTrace.GetHashCode() : 0));
 }
        /// <summary>
        /// Gets an XOR based hash code based on the contents of this object.
        /// </summary>
        public override int GetHashCode()
        {
            return(base.GetHashCode() ^
                   SourceId.GetHashCode() ^
#if !NETSTANDARD2_0
                   (SourceAssemblyName?.GetHashCode(StringComparison.OrdinalIgnoreCase) ?? 0) ^
                   EventDate.GetHashCode() ^
                   (Message != null ? Message.GetHashCode(StringComparison.OrdinalIgnoreCase) : 0) ^
                   (ErrorTypeFullName?.GetHashCode(StringComparison.OrdinalIgnoreCase) ?? 0) ^
                   (StackTrace?.GetHashCode(StringComparison.OrdinalIgnoreCase) ?? 0));
#else
                   (SourceAssemblyName?.GetHashCode() ?? 0) ^
                   EventDate.GetHashCode() ^
                   (Message != null ? Message.GetHashCode() : 0) ^
                   (ErrorTypeFullName?.GetHashCode() ?? 0) ^
                   (StackTrace?.GetHashCode() ?? 0);
#endif
        }