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); }