// [Xamarin] Expression evaluator. public override System.Reflection.ParameterInfo[] GetParameters() { ArrayList al = new ArrayList(); IntPtr hEnum = new IntPtr(); int nArg = 0; try { while (true) { uint count; int paramToken; m_importer.EnumParams(ref hEnum, m_methodToken, out paramToken, 1, out count); if (count != 1) { break; } MetadataParameterInfo mp = new MetadataParameterInfo(m_importer, paramToken, this, DeclaringType, m_argTypes [nArg++]); if (mp.Name != string.Empty) { al.Add(mp); } } } finally { m_importer.CloseEnum(hEnum); } return((ParameterInfo[])al.ToArray(typeof(ParameterInfo))); }
// [Xamarin] Expression evaluator. public override System.Reflection.ParameterInfo[] GetParameters() { ArrayList al = new ArrayList(); IntPtr hEnum = new IntPtr(); int nArg = 0; try { while (true) { int count; int[] paramToken = new int[1]; m_importer.EnumParams(out hEnum, m_methodToken, paramToken, 1, out count); if (count != 1) { break; } // this fixes IndexOutOfRange exception. Sometimes EnumParams gives you a param with position that is out of m_argTypes.Count // return typeof(object) for unmatched parameter Type argType = nArg < m_argTypes.Count ? m_argTypes[nArg++] : typeof(object); var mp = new MetadataParameterInfo(m_importer, paramToken[0], this, argType); if (mp.Name != String.Empty) { al.Add(mp); } //al.Add(new MetadataParameterInfo(m_importer,paramToken, // this,DeclaringType)); } } finally { m_importer.CloseEnum(hEnum); } return((ParameterInfo[])al.ToArray(typeof(ParameterInfo))); }
// [Xamarin] Expression evaluator. public override System.Reflection.ParameterInfo[] GetParameters() { ArrayList al = new ArrayList(); IntPtr hEnum = new IntPtr(); int nArg = 0; try { while(true) { uint count; int paramToken; m_importer.EnumParams(ref hEnum, m_methodToken, out paramToken,1,out count); if(count!=1) break; MetadataParameterInfo mp = new MetadataParameterInfo (m_importer, paramToken, this, DeclaringType, m_argTypes [nArg++]); if (mp.Name != string.Empty) al.Add(mp); } } finally { m_importer.CloseEnum(hEnum); } return (ParameterInfo[]) al.ToArray(typeof(ParameterInfo)); }