using System;
using System.Collections.Generic;

namespace Cxxi
{
    /// <summary>
    /// Represents a C++ property.
    /// </summary>
    public class Property
    {
        public Property(string name, Declaration type)
        {
            Name = name;
            Type = type;
        }

        public string Name
        {
            get;
            set;
        }

        public Declaration Type
        {
            get;
            set;
        }

        public Method GetMethod
        {
            get;
            set;
        }

        public Method SetMethod
        {
            get;
            set;
        }
    }
}
using System;
using System.Collections.Generic;

namespace Cxxi
{
    /// <summary>
    /// Represents a C++ property.
    /// </summary>
    public class Property : Declaration
    {
        public Property(string name, Declaration type)
        {
            Name = name;
            Type = type;
        }

        public Declaration Type
        {
            get;
            set;
        }

        public Method GetMethod
        {
            get;
            set;
        }

        public Method SetMethod
        {
            get;
            set;
        }

        public override T Visit<T>(IDeclVisitor<T> visitor)
        {
            throw new NotImplementedException();
        }
    }
}
Change properties to inherit from declarations.
Change properties to inherit from declarations.
