Schema |
Creates a field containing an ordered key-value map in the Schema, with given name and type of contained values.
Namespace: Autodesk.Revit.DB.ExtensibleStorage
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)

Parameters
- fieldName String
- The name of the new field.
- keyType Type
- The type of the keys for the new field.
- valueType Type
- The type of the values for the new field.
Return Value
FieldBuilderThe FieldBuilder object may be used to add more details to the field. Make sure to set the unit type if the field contains floating-point values.

Exception | Condition |
---|---|
ArgumentException | The parameter fieldName is not acceptable for naming Extensible Storage objects. -or- The field type is not supported. |
ArgumentNullException | A non-optional argument was null |
ArgumentsInconsistentException | The combination of key and value types is not supported. |
InvalidOperationException | The SchemaBuilder has already finished building the Schema. |

The supported types for the keys are Boolean, Byte, Int16, Int32, Int64, ElementId, GUID and String. Floating-point types (Float, Double, XYZ and UV) are not supported because round-off errors frequently cause numeric instability. Subentities are not supported because they require a custom comparison operator. The suggested workarounds are either placing key values into an Array and using array indices for keys, or just using an Array of subentities. Natural comparison of contained types is used for sorting. The supported types for values are the same as for simple fields. See AddSimpleField(String, Type) for details.
Note that a schema may contain a maximum of 256 fields.
