Skip to content

Commit e815e57

Browse files
authored
Use interpolated strings 6 (PowerShell#18983)
1 parent 740c62a commit e815e57

17 files changed

+97
-122
lines changed

src/System.Management.Automation/engine/CmdletParameterBinderController.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2983,7 +2983,7 @@ internal static string BuildMissingParamsString(Collection<MergedCompiledCommand
29832983

29842984
foreach (MergedCompiledCommandParameter missingParameter in missingMandatoryParameters)
29852985
{
2986-
missingParameters.AppendFormat(CultureInfo.InvariantCulture, " {0}", missingParameter.Parameter.Name);
2986+
missingParameters.Append(CultureInfo.InvariantCulture, $" {missingParameter.Parameter.Name}");
29872987
}
29882988

29892989
return missingParameters.ToString();

src/System.Management.Automation/engine/ComInterop/ComTypeEnumDesc.cs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,7 @@ internal sealed class ComTypeEnumDesc : ComTypeDesc, IDynamicMetaObjectProvider
1515
private readonly string[] _memberNames;
1616
private readonly object[] _memberValues;
1717

18-
public override string ToString()
19-
{
20-
return string.Format(CultureInfo.CurrentCulture, "<enum '{0}'>", TypeName);
21-
}
18+
public override string ToString() => $"<enum '{TypeName}'>";
2219

2320
internal ComTypeEnumDesc(ComTypes.ITypeInfo typeInfo, ComTypeLibDesc typeLibDesc) : base(typeInfo, typeLibDesc)
2421
{

src/System.Management.Automation/engine/ComInterop/ComTypeLibDesc.cs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,7 @@ private ComTypeLibDesc()
3232
_classes = new LinkedList<ComTypeClassDesc>();
3333
}
3434

35-
public override string ToString()
36-
{
37-
return string.Format(CultureInfo.CurrentCulture, "<type library {0}>", Name);
38-
}
35+
public override string ToString() => $"<type library {Name}>";
3936

4037
public string Documentation
4138
{

src/System.Management.Automation/engine/ComInterop/DispCallable.cs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,7 @@ internal DispCallable(IDispatchComObject dispatch, string memberName, int dispId
1919
DispId = dispId;
2020
}
2121

22-
public override string ToString()
23-
{
24-
return string.Format(CultureInfo.CurrentCulture, "<bound dispmethod {0}>", MemberName);
25-
}
22+
public override string ToString() => $"<bound dispmethod {MemberName}>";
2623

2724
public IDispatchComObject DispatchComObject { get; }
2825

src/System.Management.Automation/engine/ComInterop/IDispatchComObject.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ public override string ToString()
9999
typeName = "IDispatch";
100100
}
101101

102-
return string.Format(CultureInfo.CurrentCulture, "{0} ({1})", RuntimeCallableWrapper.ToString(), typeName);
102+
return $"{RuntimeCallableWrapper} ({typeName})";
103103
}
104104

105105
public ComTypeDesc ComTypeDesc
@@ -222,7 +222,7 @@ internal bool TryGetMemberMethodExplicit(string name, out ComMethodDesc method)
222222
return false;
223223
}
224224

225-
throw Error.CouldNotGetDispId(name, string.Format(CultureInfo.InvariantCulture, "0x{0:X})", hresult));
225+
throw Error.CouldNotGetDispId(name, string.Create(CultureInfo.InvariantCulture, $"0x{hresult:X})"));
226226
}
227227

228228
internal bool TryGetPropertySetterExplicit(string name, out ComMethodDesc method, Type limitType, bool holdsNull)
@@ -258,7 +258,7 @@ internal bool TryGetPropertySetterExplicit(string name, out ComMethodDesc method
258258
return false;
259259
}
260260

261-
throw Error.CouldNotGetDispId(name, string.Format(CultureInfo.InvariantCulture, "0x{0:X})", hresult));
261+
throw Error.CouldNotGetDispId(name, string.Create(CultureInfo.InvariantCulture, $"0x{hresult:X})"));
262262
}
263263

264264
internal override IList<string> GetMemberNames(bool dataOnly)

src/System.Management.Automation/engine/ComInterop/Variant.Extended.cs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -282,10 +282,7 @@ internal static System.Reflection.MethodInfo GetByrefSetter(VarEnum varType)
282282
}
283283
}
284284

285-
public override string ToString()
286-
{
287-
return string.Format(CultureInfo.CurrentCulture, "Variant ({0})", VariantType);
288-
}
285+
public override string ToString() => $"Variant ({VariantType})";
289286

290287
public void SetAsIConvertible(IConvertible value)
291288
{

src/System.Management.Automation/engine/CommandCompletion/CompletionCompleters.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2701,7 +2701,7 @@ private static void NativeCompletionCimAssociationResultClassName(
27012701
WildcardPattern resultClassNamePattern = WildcardPattern.Get(context.WordToComplete + "*", WildcardOptions.IgnoreCase | WildcardOptions.CultureInvariant);
27022702
result.AddRange(resultClassNames
27032703
.Where(resultClassNamePattern.IsMatch)
2704-
.Select(x => new CompletionResult(x, x, CompletionResultType.Type, string.Format(CultureInfo.InvariantCulture, "{0} -> {1}", pseudoboundClassName, x))));
2704+
.Select(x => new CompletionResult(x, x, CompletionResultType.Type, string.Create(CultureInfo.InvariantCulture, $"{pseudoboundClassName} -> {x}"))));
27052705
}
27062706

27072707
private static void NativeCompletionCimMethodName(
@@ -6511,7 +6511,7 @@ internal override CompletionResult GetCompletionResult(string keyMatched, string
65116511
if (i != 0) tooltip.Append(", ");
65126512
tooltip.Append(GenericArgumentCount == 1
65136513
? "T"
6514-
: string.Format(CultureInfo.InvariantCulture, "T{0}", i + 1));
6514+
: string.Create(CultureInfo.InvariantCulture, $"T{i + 1}"));
65156515
}
65166516

65176517
tooltip.Append(']');

src/System.Management.Automation/engine/CommandMetadata.cs

Lines changed: 27 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -847,49 +847,40 @@ internal string GetProxyCommand(string helpComment, bool generateDynamicParamete
847847
{
848848
if (string.IsNullOrEmpty(helpComment))
849849
{
850-
helpComment = string.Format(CultureInfo.InvariantCulture, @"
851-
.ForwardHelpTargetName {0}
852-
.ForwardHelpCategory {1}
853-
",
854-
_wrappedCommand, _wrappedCommandType);
850+
helpComment = string.Create(CultureInfo.InvariantCulture, $@"
851+
.ForwardHelpTargetName {_wrappedCommand}
852+
.ForwardHelpCategory {_wrappedCommandType}
853+
");
855854
}
856855

857856
string dynamicParamblock = string.Empty;
858857
if (generateDynamicParameters && this.ImplementsDynamicParameters)
859858
{
860-
dynamicParamblock = string.Format(CultureInfo.InvariantCulture, @"
859+
dynamicParamblock = string.Create(CultureInfo.InvariantCulture, $@"
861860
dynamicparam
862-
{{{0}}}
861+
{{{GetDynamicParamBlock()}}}
863862
864-
", GetDynamicParamBlock());
863+
");
865864
}
866865

867-
string result = string.Format(CultureInfo.InvariantCulture, @"{0}
868-
param({1})
866+
string result = string.Create(CultureInfo.InvariantCulture, $@"{GetDecl()}
867+
param({GetParamBlock()})
869868
870-
{2}begin
871-
{{{3}}}
869+
{dynamicParamblock}begin
870+
{{{GetBeginBlock()}}}
872871
873872
process
874-
{{{4}}}
873+
{{{GetProcessBlock()}}}
875874
876875
end
877-
{{{5}}}
876+
{{{GetEndBlock()}}}
878877
879878
clean
880-
{{{6}}}
879+
{{{GetCleanBlock()}}}
881880
<#
882-
{7}
881+
{CodeGeneration.EscapeBlockCommentContent(helpComment)}
883882
#>
884-
",
885-
GetDecl(),
886-
GetParamBlock(),
887-
dynamicParamblock,
888-
GetBeginBlock(),
889-
GetProcessBlock(),
890-
GetEndBlock(),
891-
GetCleanBlock(),
892-
CodeGeneration.EscapeBlockCommentContent(helpComment));
883+
");
893884

894885
return result;
895886
}
@@ -1020,46 +1011,38 @@ internal string GetBeginBlock()
10201011

10211012
if (_wrappedAnyCmdlet)
10221013
{
1023-
result = string.Format(CultureInfo.InvariantCulture, @"
1014+
result = string.Create(CultureInfo.InvariantCulture, $@"
10241015
try {{
10251016
$outBuffer = $null
10261017
if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer))
10271018
{{
10281019
$PSBoundParameters['OutBuffer'] = 1
10291020
}}
10301021
1031-
$wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('{0}', [System.Management.Automation.CommandTypes]::{1})
1022+
$wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('{CodeGeneration.EscapeSingleQuotedStringContent(_wrappedCommand)}', [System.Management.Automation.CommandTypes]::{_wrappedCommandType})
10321023
$scriptCmd = {{& $wrappedCmd @PSBoundParameters }}
10331024
1034-
$steppablePipeline = $scriptCmd.GetSteppablePipeline({2})
1025+
$steppablePipeline = $scriptCmd.GetSteppablePipeline({commandOrigin})
10351026
$steppablePipeline.Begin($PSCmdlet)
10361027
}} catch {{
10371028
throw
10381029
}}
1039-
",
1040-
CodeGeneration.EscapeSingleQuotedStringContent(_wrappedCommand),
1041-
_wrappedCommandType,
1042-
commandOrigin
1043-
);
1030+
");
10441031
}
10451032
else
10461033
{
1047-
result = string.Format(CultureInfo.InvariantCulture, @"
1034+
result = string.Create(CultureInfo.InvariantCulture, $@"
10481035
try {{
1049-
$wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('{0}', [System.Management.Automation.CommandTypes]::{1})
1036+
$wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('{CodeGeneration.EscapeSingleQuotedStringContent(_wrappedCommand)}', [System.Management.Automation.CommandTypes]::{_wrappedCommandType})
10501037
$PSBoundParameters.Add('$args', $args)
10511038
$scriptCmd = {{& $wrappedCmd @PSBoundParameters }}
10521039
1053-
$steppablePipeline = $scriptCmd.GetSteppablePipeline({2})
1040+
$steppablePipeline = $scriptCmd.GetSteppablePipeline({commandOrigin})
10541041
$steppablePipeline.Begin($myInvocation.ExpectingInput, $ExecutionContext)
10551042
}} catch {{
10561043
throw
10571044
}}
1058-
",
1059-
CodeGeneration.EscapeSingleQuotedStringContent(_wrappedCommand),
1060-
_wrappedCommandType,
1061-
commandOrigin
1062-
);
1045+
");
10631046
}
10641047

10651048
return result;
@@ -1083,9 +1066,9 @@ internal string GetProcessBlock()
10831066

10841067
internal string GetDynamicParamBlock()
10851068
{
1086-
return string.Format(CultureInfo.InvariantCulture, @"
1069+
return string.Create(CultureInfo.InvariantCulture, $@"
10871070
try {{
1088-
$targetCmd = $ExecutionContext.InvokeCommand.GetCommand('{0}', [System.Management.Automation.CommandTypes]::{1}, $PSBoundParameters)
1071+
$targetCmd = $ExecutionContext.InvokeCommand.GetCommand('{CodeGeneration.EscapeSingleQuotedStringContent(_wrappedCommand)}', [System.Management.Automation.CommandTypes]::{_wrappedCommandType}, $PSBoundParameters)
10891072
$dynamicParams = @($targetCmd.Parameters.GetEnumerator() | Microsoft.PowerShell.Core\Where-Object {{ $_.Value.IsDynamic }})
10901073
if ($dynamicParams.Length -gt 0)
10911074
{{
@@ -1106,9 +1089,7 @@ internal string GetDynamicParamBlock()
11061089
}} catch {{
11071090
throw
11081091
}}
1109-
",
1110-
CodeGeneration.EscapeSingleQuotedStringContent(_wrappedCommand),
1111-
_wrappedCommandType);
1092+
");
11121093
}
11131094

11141095
internal string GetEndBlock()

src/System.Management.Automation/engine/CoreAdapter.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3887,11 +3887,11 @@ private static string GetDefaultValueStringRepresentation(ParameterInfo paramete
38873887

38883888
if (parameterType.IsEnum)
38893889
{
3890-
return string.Format(CultureInfo.InvariantCulture, "{0}.{1}", parameterType.ToString(), parameterDefaultValue.ToString());
3890+
return string.Create(CultureInfo.InvariantCulture, $"{parameterType}.{parameterDefaultValue}");
38913891
}
38923892

38933893
return (parameterDefaultValue is string)
3894-
? string.Format(CultureInfo.InvariantCulture, "\"{0}\"", parameterDefaultValue.ToString())
3894+
? string.Create(CultureInfo.InvariantCulture, $"\"{parameterDefaultValue}\"")
38953895
: parameterDefaultValue.ToString();
38963896
}
38973897

src/System.Management.Automation/engine/GetCommandCommand.cs

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -614,12 +614,7 @@ private PSObject GetSyntaxObject(CommandInfo command)
614614
switch (command)
615615
{
616616
case ExternalScriptInfo externalScript:
617-
replacedSyntax = string.Format(
618-
"{0} (alias) -> {1}{2}{3}",
619-
aliasName,
620-
string.Format("{0}{1}", externalScript.Path, Environment.NewLine),
621-
Environment.NewLine,
622-
command.Syntax.Replace(command.Name, aliasName));
617+
replacedSyntax = string.Create(CultureInfo.InvariantCulture, $"{aliasName} (alias) -> {externalScript.Path}{Environment.NewLine}{Environment.NewLine}{command.Syntax.Replace(command.Name, aliasName)}");
623618
break;
624619
case ApplicationInfo app:
625620
replacedSyntax = app.Path;
@@ -631,12 +626,7 @@ private PSObject GetSyntaxObject(CommandInfo command)
631626
}
632627
else
633628
{
634-
replacedSyntax = string.Format(
635-
"{0} (alias) -> {1}{2}{3}",
636-
aliasName,
637-
command.Name,
638-
Environment.NewLine,
639-
command.Syntax.Replace(command.Name, aliasName));
629+
replacedSyntax = string.Create(CultureInfo.InvariantCulture, $"{aliasName} (alias) -> {command.Name}{Environment.NewLine}{command.Syntax.Replace(command.Name, aliasName)}");
640630
}
641631

642632
break;

src/System.Management.Automation/engine/InternalCommands.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -701,7 +701,7 @@ private void ProcessPropertyAndMethodParameterSet()
701701
StringBuilder possibleMatches = new StringBuilder();
702702
foreach (PSMemberInfo item in members)
703703
{
704-
possibleMatches.AppendFormat(CultureInfo.InvariantCulture, " {0}", item.Name);
704+
possibleMatches.Append(CultureInfo.InvariantCulture, $" {item.Name}");
705705
}
706706

707707
WriteError(GenerateNameParameterError("Name", InternalCommandStrings.AmbiguousPropertyOrMethodName,
@@ -1019,7 +1019,7 @@ private void MethodCallWithArguments()
10191019
StringBuilder possibleMatches = new StringBuilder();
10201020
foreach (PSMemberInfo item in methods)
10211021
{
1022-
possibleMatches.AppendFormat(CultureInfo.InvariantCulture, " {0}", item.Name);
1022+
possibleMatches.Append(CultureInfo.InvariantCulture, $" {item.Name}");
10231023
}
10241024

10251025
WriteError(GenerateNameParameterError(
@@ -1049,7 +1049,7 @@ private void MethodCallWithArguments()
10491049
StringBuilder arglist = new StringBuilder(GetStringRepresentation(_arguments[0]));
10501050
for (int i = 1; i < _arguments.Length; i++)
10511051
{
1052-
arglist.AppendFormat(CultureInfo.InvariantCulture, ", {0}", GetStringRepresentation(_arguments[i]));
1052+
arglist.Append(CultureInfo.InvariantCulture, $", {GetStringRepresentation(_arguments[i])}");
10531053
}
10541054

10551055
string methodAction = string.Format(CultureInfo.InvariantCulture,
@@ -2355,7 +2355,7 @@ private object GetValue(ref bool error)
23552355
StringBuilder possibleMatches = new StringBuilder();
23562356
foreach (PSMemberInfo item in members)
23572357
{
2358-
possibleMatches.AppendFormat(CultureInfo.InvariantCulture, " {0}", item.Name);
2358+
possibleMatches.Append(CultureInfo.InvariantCulture, $" {item.Name}");
23592359
}
23602360

23612361
WriteError(

src/System.Management.Automation/engine/ManagementObjectAdapter.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -454,7 +454,7 @@ protected static CacheTable GetInstanceMethodTable(ManagementBaseObject wmiObjec
454454

455455
// unique identifier for identifying this ManagementObject's type
456456
ManagementPath classPath = wmiObject.ClassPath;
457-
string key = string.Format(CultureInfo.InvariantCulture, "{0}#{1}", classPath.Path, staticBinding.ToString());
457+
string key = string.Create(CultureInfo.InvariantCulture, $"{classPath.Path}#{staticBinding}");
458458

459459
typeTable = (CacheTable)s_instanceMethodCacheTable[key];
460460
if (typeTable != null)
@@ -577,8 +577,7 @@ protected static string GetEmbeddedObjectTypeName(PropertyData pData)
577577
try
578578
{
579579
string cimType = (string)pData.Qualifiers["cimtype"].Value;
580-
result = string.Format(CultureInfo.InvariantCulture, "{0}#{1}",
581-
typeof(ManagementObject).FullName, cimType.Replace("object:", string.Empty));
580+
result = string.Create(CultureInfo.InvariantCulture, $"{typeof(ManagementObject).FullName}#{cimType.Replace("object:", string.Empty)}");
582581
}
583582
catch (ManagementException)
584583
{

0 commit comments

Comments
 (0)