/// <inheritdoc/> public override ParameterInfo[] GetParameters() { if (parameters == null) { parameters = new ParameterInfo[this.MethodDefSig.ParamCount]; for (int i = 0; i < parameters.Length; i++) { string name; try { // index = 0 is return parameter name = this.DebugModule.MetaData.GetParamPropsForMethodIndex((uint)this.MetadataToken, (uint)i + 1).Name; } catch { name = String.Empty; } int iCopy = i; parameters[i] = new DebugParameterInfo( this, name, DebugType.CreateFromSignature(this.DebugModule, this.MethodDefSig.Parameters[i].Type, declaringType), i, delegate(StackFrame context) { return(context.GetArgumentValue(iCopy)); } ); } } return(parameters); }
/// <inheritdoc/> public override ParameterInfo[] GetParameters() { if (parameters == null) { parameters = new ParameterInfo[this.MethodDefSig.GetParamCount()]; for(int i = 0; i < parameters.Length; i++) { string name; try { // index = 0 is return parameter name = this.DebugModule.MetaData.GetParamPropsForMethodIndex((uint)this.MetadataToken, (uint)i + 1).Name; } catch { name = String.Empty; } int iCopy = i; parameters[i] = new DebugParameterInfo( this, name, DebugType.CreateFromSignature(this.DebugModule, this.MethodDefSig.Params[i], declaringType), i, delegate (StackFrame context) { return context.GetArgumentValue(iCopy); } ); } } return parameters; }