October Update
Posted one month ago
It's common in components to have features that you don't always want enabled. Sometimes you don't even want people to know about them unless they go looking. Here's an example:

public class FeatureTest : Component

{
[Property, Feature( "Body" )]
public float BodySize { get; set; }

[Property, Feature( "Body" )]
public float BodyHeight { get; set; }

[Property, Feature( "Head" )]
public float HeadSize { get; set; }

[Property, Feature( "Head" )]
public float HeadHeight { get; set; }

[Property, FeatureEnabled( "Secret" )]
public bool SecretFeature { get; set; } = false;

[Property, Feature( "Secret" )]
public string SecretText { get; set; } = "Bloxwich";
}

This then creates these tabs at the top. The FeatureEnabled option allows you to add or remove a feature, and the component remembers the state in the bool.