ClassType
Description
- Derived from
-
ConfigType abstract
Config property type: composite class type (supporting simple inheritance).
Class fields (declared ones and inherited ones) are grouped into required, optional and virtual fields. The order of fields in each group is the same as the order in which the fields has been added to the class type during building (see ClassTypeBuilder):
-
Required fields:
[0..a[
-
Optional fields:
[a..b[
-
Virtual fields:
[b..c[
where a
is the count of required fields (see FieldCountRequired), b
is the count of regular fields (see FieldCountRegular), b-a
is the count of optional fields, b-c
is the number of virtual fields and c
is the field count (see FieldCount). A subclass may declare a required or optional field using the same name as an inherited virtual field; the inherited field is then overridden and does no longer count for the virtual fields group.
This type should not be used as the target for type casting expressions, see ConfigType.IsClass for details.
Public / Methods
ConfigureDelegate
Configures an object from the given config value, using this class type as base.
The use of this class types Configurator is prohibited.
- ConfigException
-
If value in specifies malformed configuration data.
- IOException
-
If a temporary I/O error has occurred; the same call might succeed later.
- ValidatingException
-
If the given config value is invalid (see IValidatable.Validate).
GetField
2 overloads
Returns a field of this class type by its name.
- ConfigException
-
If no field named name in exists in this type.
Returns a field of this class type.
Public / Attributes
FieldCount
Returns the number of fields this class type has (including inherited ones).
Class fields (declared ones and inherited ones) are grouped into required, optional and virtual fields. The order of fields in each group is the same as the order in which the fields has been added to the class type during building (see ClassTypeBuilder):
-
Required fields:
[0..a[
-
Optional fields:
[a..b[
-
Virtual fields:
[b..c[
where a
is the count of required fields, b-a
is the count of optional fields, b-c
is the number of virtual fields and c
is the field count (see FieldCount). A subclass may declare a required or optional field using the same name as an inherited virtual field; the inherited field is then overridden and does no longer count for the virtual fields group.