protected void Init(CustomPropertyDescriptor property, Parameter parameter) { if (!(parameter is NullParameter)) { property.SetIsBrowsable(true); property.SetDescription(parameter.description); property.SetDisplayName(parameter.name); if (parameter is SwitchParameter) { property.AddAttribute(new EditorAttribute(typeof(StandardValueEditor), typeof(UITypeEditor))); ((SwitchParameter)parameter).AddValuesToProperty(property); } if (parameter is FlagParameter) { property.PropertyFlags |= PropertyFlags.IsFlag; } if (parameter is StringParameter) { property.AddAttribute(new TypeConverterAttribute(typeof(DataFromDBConverter))); property.AddAttribute(new StorageTypeAttribute(((StringParameter)parameter).storageType)); property.AddAttribute(new EditorAttribute(typeof(ModalEditor), typeof(UITypeEditor))); } } else if (parameter.GetValue() > 0) { property.SetIsBrowsable(true); property.SetDisplayName("unused (" + property.DisplayName + ")"); } }