@@ -16,19 +16,19 @@ internal class NLogMessageParameterList : IList<MessageTemplateParameter>
1616 private static readonly NLogMessageParameterList OriginalMessageList = new NLogMessageParameterList ( new [ ] { new KeyValuePair < string , object > ( NLogLogger . OriginalFormatPropertyName , string . Empty ) } , 0 , default , default ) ;
1717
1818 private readonly IReadOnlyList < KeyValuePair < string , object > > _parameterList ;
19- private readonly int ? _originalMessageIndex ;
19+ private readonly int _originalMessageIndex ;
2020 private readonly bool _hasComplexParameters ;
2121 private readonly bool _isPositional ;
2222
2323 public bool HasComplexParameters => _hasComplexParameters ;
2424 public bool IsPositional => _isPositional ;
25- public int Count => _parameterList . Count - ( _originalMessageIndex . HasValue ? 1 : 0 ) ;
25+ public int Count => _originalMessageIndex != int . MaxValue ? _parameterList . Count - 1 : _parameterList . Count ;
2626 public bool IsReadOnly => true ;
2727
2828 private NLogMessageParameterList ( IReadOnlyList < KeyValuePair < string , object > > parameterList , int ? originalMessageIndex , bool hasComplexParameters , bool isPositional )
2929 {
3030 _parameterList = parameterList ;
31- _originalMessageIndex = originalMessageIndex ;
31+ _originalMessageIndex = originalMessageIndex ?? int . MaxValue ;
3232 _hasComplexParameters = hasComplexParameters ;
3333 _isPositional = isPositional ;
3434 }
@@ -72,14 +72,14 @@ public static NLogMessageParameterList TryParse(IReadOnlyList<KeyValuePair<strin
7272
7373 public bool HasMessageTemplateSyntax ( bool parseMessageTemplates )
7474 {
75- return _originalMessageIndex . HasValue && ( HasComplexParameters || ( parseMessageTemplates && Count > 0 ) ) ;
75+ return _originalMessageIndex != int . MaxValue && ( HasComplexParameters || ( parseMessageTemplates && _parameterList . Count > 1 ) ) ;
7676 }
7777
7878 public string GetOriginalMessage ( IReadOnlyList < KeyValuePair < string , object > > messageProperties )
7979 {
8080 if ( _originalMessageIndex < messageProperties ? . Count )
8181 {
82- return messageProperties [ _originalMessageIndex . Value ] . Value as string ;
82+ return messageProperties [ _originalMessageIndex ] . Value as string ;
8383 }
8484 return null ;
8585 }
@@ -179,7 +179,7 @@ public MessageTemplateParameter this[int index]
179179 {
180180 get
181181 {
182- var parameter = _parameterList [ index >= _originalMessageIndex ? index + 1 : index ] ;
182+ var parameter = _parameterList [ index < _originalMessageIndex ? index : index + 1 ] ;
183183 return _hasComplexParameters ?
184184 GetMessageTemplateParameter ( parameter . Key , parameter . Value ) :
185185 new MessageTemplateParameter ( parameter . Key , parameter . Value , null , CaptureType . Normal ) ;
0 commit comments