public GetterClass(PropertyClass property)
            : base((ClassPointer)(property.Owner))
        {
            _property = property;
            ReturnValue.SetDataType(_property.PropertyType);
            PropertyOverride po             = property as PropertyOverride;
            bool             hasBaseVersion = (po != null && po.HasBaseImplementation);

            if (hasBaseVersion)
            {
                List <ParameterClass>      pl = new List <ParameterClass>();
                ParameterClassBaseProperty pc = new ParameterClassBaseProperty(this);
                pl.Add(pc);

                this.Parameters = pl;
            }
        }
        public SetterClass(PropertyClass property)
            : base((ClassPointer)(property.Owner))
        {
            _property   = property;
            ReturnValue = new ParameterClass(new TypePointer(typeof(void)), this);
            PropertyOverride po             = property as PropertyOverride;
            bool             hasBaseVersion = (po != null && po.HasBaseImplementation);
            //
            List <ParameterClass> pl = new List <ParameterClass>();
            PropertyValueClass    p  = new PropertyValueClass(this);

            p.SetDataType(_property.PropertyType);
            pl.Add(p);
            //
            if (hasBaseVersion)
            {
                ParameterClassBaseProperty pc = new ParameterClassBaseProperty(this);
                pl.Add(pc);
            }
            this.Parameters = pl;
        }