protected string BClassFileName(IBClass bClass)
        {
            StringBuilder sb = new StringBuilder();

            sb.Append(HelpMeReflect.AttributeStringData(bClass.GetType(), typeof(BClass), "Description"));
            sb.Append(".txt");
            return(sb.ToString());
        }
        private void Configure()
        {
            // Type argument
            Type typeArgument = this.GetType().GenericTypeArguments[0];

            // Menu title (=~ class type)
            string typeName =
                HelpMeReflect.AttributeStringData(typeArgument, typeof(BClass), "Description");

            this.Titel = TITEL_TEMPLATE.Replace(PLACEHOLDER, typeName);


            // Menu options (=~ class properties)
            this.bProperties = HelpMeReflect.PropertiesWithBPropertyAttribute(typeArgument);
            this.MenuOpties  = this.bProperties.Select(HelpMeReflect.AttributeOfType <BProperty>)
                               .Select(bProp => bProp.Description)
                               .ToList();

            // Associate the order (=~ indexes shown to user) with right properties
            int startIndex = 1;

            this.bProperties.ForEach(prop => this.indexedBProperties.Add(startIndex++, prop));
        }