A self-describing type is a type that is described by metadata that is available about itself. The most common form is class types. It is quite easy to show there that self-description means:
The type itself is described by the class definition. e.g. Client class with name, age, and client. The pure data for an instance of this class will be something like this:
8%3|*1C USTOMER
Just because there is a class description in the environment that contains metadata that you really know that some of this data forms an identifier, age, and name. And to identify metadata, the content content of the object is combined with the class identifier, so the environment can match the class description with metadata.
|Class metadata reference: Metadata for the customer class | |Customer ID: Field | | |Customer Age: Field | | ||Customer Name : Field 8%3|*1C USTOMER
For arrays, this is similar: array classes contain information about the number of records, as well as type information (see above) about stored records.
Foxfire
source share