protected override void CopyFromThis(MethodClass obj)
        {
            base.CopyFromThis(obj);
            ConstructorClass constructor = (ConstructorClass)obj;

            constructor._info = _info;
            constructor._fixedParameterCount = _fixedParameterCount;
            constructor._display             = _display;
        }
 public bool IsDerivedFrom(ConstructorClass baseConstructor)
 {
     if (this.ParameterCount >= baseConstructor.ParameterCount)
     {
         for (int i = 0; i < baseConstructor.ParameterCount; i++)
         {
             if (!baseConstructor.Parameters[i].IsSameObjectRef(this.Parameters[i]))
             {
                 return(false);
             }
         }
         return(true);
     }
     else
     {
         return(false);
     }
 }
        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);
        }
 public CustomConstructorPointer(ConstructorClass method, IClass holder)
     : base(method, holder)
 {
 }