Exemple #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="iStatus"></param>
        /// <param name="iCallerMemberName"></param>
        /// <param name="iCallerFilePath"></param>
        /// <param name="iCallerLineNumber"></param>
        public MemberInformation(EMemberStatus iStatus, [CallerMemberName] string iCallerMemberName = ConstString.Empty, [CallerFilePath] string iCallerFilePath = ConstString.Empty, [CallerLineNumber] int iCallerLineNumber = ConstNumberValue.Zero)
        {
            if (iStatus == EMemberStatus.Unknown)
            {
                throw new ArgumentException("iStatus == EMemberStatus.Unknown");
            }
            else if (iStatus == EMemberStatus.HasException)
            {
                throw new ArgumentException("iStatus == EMemberStatus.HasException");
            }

            _creationTime = TimeHelper.GetTimeNowByPreprocessor();

            Status = iStatus;

            Name       = iCallerMemberName;
            FilePath   = iCallerFilePath;
            LineNumber = iCallerLineNumber;

            UniqueThreadID = ThreadLocalInformation.GetUniqueID();
            UniqueMemberID = (UniqueThreadID ^ Name.GetHashCode() ^ FilePath.GetHashCode());

            Exception           = null;
            ExceptionStackTrace = ConstString.Empty;
        }
Exemple #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="ioException"></param>
        /// <param name="iExceptionStackTrace"></param>
        /// <param name="iCallerMemberName"></param>
        /// <param name="iCallerFilePath"></param>
        /// <param name="iCallerLineNumber"></param>
        public MemberInformation(Exception ioException, string iExceptionStackTrace, [CallerMemberName] string iCallerMemberName = ConstString.Empty, [CallerFilePath] string iCallerFilePath = ConstString.Empty, [CallerLineNumber] int iCallerLineNumber = ConstNumberValue.Zero)
        {
            _creationTime = TimeHelper.GetTimeNowByPreprocessor();

            Status = EMemberStatus.HasException;

            Name       = iCallerMemberName;
            FilePath   = iCallerFilePath;
            LineNumber = iCallerLineNumber;

            UniqueThreadID = ThreadLocalInformation.GetUniqueID();
            UniqueMemberID = (UniqueThreadID ^ Name.GetHashCode() ^ FilePath.GetHashCode());

            Exception           = ioException;
            ExceptionStackTrace = iExceptionStackTrace;
        }