private MethodInfoPointer createPointer(MultiPanes viewersHolder, XmlNode rootNode) { MethodInfoPointer mp; if (_val is SubMethodInfo) { mp = new SubMethodInfoPointer(); } else { mp = new MethodInfoPointer(); } mp.Owner = Owner; mp.MemberName = _val.Name; ParameterInfo[] pifs = null; IDynamicMethodParameters dmp = Owner.ObjectInstance as IDynamicMethodParameters; if (dmp != null) { pifs = dmp.GetDynamicMethodParameters(_val.Name, null); } if (pifs == null) { pifs = _val.GetParameters(); } if (pifs != null && pifs.Length > 0) { Type[] ts = new Type[pifs.Length]; for (int i = 0; i < ts.Length; i++) { ts[i] = pifs[i].ParameterType; } mp.ParameterTypes = ts; } mp.SetMethodInfo(_val); return(mp); }
public override ParameterInfo[] GetParameters() { return(_owner.GetDynamicMethodParameters(_mb.Name, _attrs)); }