@@ -97,7 +97,6 @@ private static bool IsValidParameterList(IReadOnlyList<KeyValuePair<string, obje
97
97
string parameterName ;
98
98
99
99
var parameterCount = parameterList . Count ;
100
-
101
100
for ( int i = 0 ; i < parameterCount ; ++ i )
102
101
{
103
102
if ( ! TryGetParameterName ( parameterList , i , out parameterName ) )
@@ -188,15 +187,21 @@ public MessageTemplateParameter this[int index]
188
187
index += 1 ;
189
188
190
189
var parameter = _parameterList [ index ] ;
191
- var parameterName = parameter . Key ;
192
- var capture = GetCaptureType ( parameterName [ 0 ] ) ;
193
- if ( capture != CaptureType . Normal )
194
- parameterName = parameterName . Substring ( 1 ) ;
195
- return new MessageTemplateParameter ( parameterName , parameter . Value , null , capture ) ;
190
+ return _hasMessageTemplateCapture ?
191
+ GetMessageTemplateParameter ( parameter . Key , parameter . Value ) :
192
+ new MessageTemplateParameter ( parameter . Key , parameter . Value , null , CaptureType . Normal ) ;
196
193
}
197
194
set => throw new NotSupportedException ( ) ;
198
195
}
199
196
197
+ private static MessageTemplateParameter GetMessageTemplateParameter ( string parameterName , object parameterValue )
198
+ {
199
+ var capture = GetCaptureType ( parameterName [ 0 ] ) ;
200
+ if ( capture != CaptureType . Normal )
201
+ parameterName = parameterName . Substring ( 1 ) ;
202
+ return new MessageTemplateParameter ( parameterName , parameterValue , null , capture ) ;
203
+ }
204
+
200
205
private static CaptureType GetCaptureType ( char firstChar )
201
206
{
202
207
if ( firstChar == '@' )
0 commit comments