Extensible property explicitly set (PC0005)

Tables, enums, and other extensible objects should explicitly set the Extensible property to declare whether the object can be extended by other apps. Relying on the default value makes the design intent unclear.

A code fix is available for this diagnostic.

Example

The following enum does not explicitly set Extensible:

enum 50100 MyEnum // Extensible property explicitly set [PC0005]
{
    value(0; Value1) { }
    value(1; Value2) { }
}

To fix this, explicitly set the Extensible property:

enum 50100 MyEnum
{
    Extensible = true;

    value(0; Value1) { }
    value(1; Value2) { }
}