public EnumRadioButtonsViewModel(string description, string preview, string group, Option <TOption> option, AbstractOptionPreviewViewModel info, OptionSet options)
            : base(description)
        {
            var items = new List <AbstractRadioButtonViewModel>();

            var enumType = typeof(TOption);

            foreach (var value in Enum.GetValues(enumType))
            {
                var name = Enum.GetName(enumType, value);

                var memberInfo            = enumType.GetMember(name)[0];
                var descriptionAttributes = memberInfo.GetCustomAttributes(typeof(DescriptionAttribute), false);

                var valueDescription = descriptionAttributes.Length > 0
                    ? ((DescriptionAttribute)descriptionAttributes[0]).Description
                    : name;

                items.Add(new RadioButtonViewModel <TOption>(
                              valueDescription,
                              preview,
                              group,
                              (TOption)value,
                              option,
                              info,
                              options));
            }

            Items = items;
        }
 public RadioButtonViewModel(string description, string preview, string group, TOption value, Option <TOption> option, AbstractOptionPreviewViewModel info, OptionSet options)
     : base(description, preview, info, options, isChecked: options.GetOption(option).Equals(value), group: group)
 {
     _value  = value;
     _option = option;
 }