public virtual Dictionary <string, string> GetParameterDescriptions()
        {
            string methodDesc;
            string returnDesc;
            Dictionary <string, string> ps = PMEXmlParser.GetMethodDescription(VPLUtil.GetObjectType(Owner.ObjectType), MethodDef, out methodDesc, out returnDesc);
            IDynamicMethodParameters    d  = Owner.ObjectInstance as IDynamicMethodParameters;

            if (d != null)
            {
                Dictionary <string, string> pc = d.GetParameterDescriptions(this.MemberName);
                if (pc != null)
                {
                    foreach (KeyValuePair <string, string> kv in pc)
                    {
                        if (ps.ContainsKey(kv.Key))
                        {
                            ps[kv.Key] = kv.Value;
                        }
                        else
                        {
                            ps.Add(kv.Key, kv.Value);
                        }
                    }
                }
            }
            return(ps);
        }
        public Dictionary <string, string> GetParameterTooltips()
        {
            Dictionary <string, string> pts = null;
            ClassPointer owner = (ClassPointer)Owner;

            if (owner.BaseClassPointer != null)
            {
                SortedList <string, ConstructorClass> sorted = owner.GetBaseConstructorsSortedByParameterCount();
                for (int i = sorted.Count - 1; i >= 0; i--)
                {
                    ConstructorClass baseConstructor = sorted.ElementAt <KeyValuePair <string, ConstructorClass> >(i).Value;
                    if (this.IsDerivedFrom(baseConstructor))
                    {
                        pts = baseConstructor.GetParameterTooltips();
                        break;
                    }
                }
                if (pts == null)
                {
                    pts = new Dictionary <string, string>();
                }
            }
            else
            {
                string methodDesc;
                string retDesc;
                pts = PMEXmlParser.GetMethodDescription(owner.BaseClassType, Info, out methodDesc, out retDesc);
            }
            if (_fixedParameterCount < ParameterCount)
            {
                for (int i = _fixedParameterCount; i < ParameterCount; i++)
                {
                    if (!string.IsNullOrEmpty(Parameters[i].Description))
                    {
                        pts.Add(Parameters[i].Name, Parameters[i].Description);
                    }
                }
            }
            return(pts);
        }