diff --git a/src/System.Management.Automation/engine/ManagementObjectAdapter.cs b/src/System.Management.Automation/engine/ManagementObjectAdapter.cs index 522a69f11ed..94e07d3af0e 100644 --- a/src/System.Management.Automation/engine/ManagementObjectAdapter.cs +++ b/src/System.Management.Automation/engine/ManagementObjectAdapter.cs @@ -763,7 +763,7 @@ private object AuxillaryInvokeMethod(ManagementObject obj, WMIMethodCacheEntry m /// Should not throw exceptions /// internal static void UpdateParameters(ManagementBaseObject parameters, - SortedList parametersList) + SortedList parametersList) { // ManagementObject class do not populate parameters when there are none. if (parameters == null) @@ -812,7 +812,7 @@ internal static MethodInformation GetMethodInformation(MethodData mData) Diagnostics.Assert(mData != null, "MethodData should not be null"); // Get Method parameters - SortedList parameters = new SortedList(); + var parameters = new SortedList(); UpdateParameters(mData.InParameters, parameters); // parameters is never null @@ -832,15 +832,16 @@ internal static string GetMethodDefinition(MethodData mData) // gather parameter information for this method. // input and output parameters reside in 2 different groups.. // we dont know the order they appear on the arguments line.. - SortedList parameters = new SortedList(); + var parameters = new SortedList(); UpdateParameters(mData.InParameters, parameters); StringBuilder inParameterString = new StringBuilder(); if (parameters.Count > 0) { - foreach (WMIParameterInformation parameter in parameters.Values) + for (int i = 0; i < parameters.Values.Count; i++) { + WMIParameterInformation parameter = parameters.Values[i]; string typeName = parameter.parameterType.ToString(); PropertyData pData = mData.InParameters.Properties[parameter.Name];