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: 2015.0.0.0 (2015.0.0.0)
Since: 2012
Syntax
C# |
---|
|
Visual Basic |
---|
|
Visual C++ |
---|
|
Parameters
- fieldName
- Type: System String
The name of the new field.
- keyType
- Type: System Type
The type of the keys for the new field.
- valueType
- Type: System Type
The type of the values for the new field.
Return Value
The 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.Remarks
The supported types for the keys are Boolean, Byte, Int16, Int32, 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.
Exceptions
Exception | Condition |
---|---|
Autodesk.Revit.Exceptions ArgumentException | The parameter fieldName is not acceptable for naming Extensible Storage objects. -or- The field type is not supported. |
Autodesk.Revit.Exceptions ArgumentNullException | A non-optional argument was NULL |
Autodesk.Revit.Exceptions ArgumentsInconsistentException | The combination of key and value types is not supported. |
Autodesk.Revit.Exceptions InvalidOperationException | The SchemaBuilder has already finished building the Schema. |