reflect.class.Field
One field of a class: its name, its declared type, and its schema metadata.
Signature
class reflect.class.FieldOne field of a class: its name, its declared type, and its schema metadata.
A descriptor from reflect.AnyClass.list_fields, get_field or
find_field is bound to the instance it came from, so value can read
it; one from reflect.Class.fields() describes the type only and is
ownerless.
Source:<builtin>/reflect/ns_class/class.bamlbytes 321–1262
Fields
name
stringtype
meta
_owner
unknown | nullPresent only for handles returned from reflect.AnyClass.list_fields,
get_field or find_field. Type-side descriptors returned by
reflect.Class.fields() are intentionally ownerless.
Instance methods
This field's schema metadata. Same value as the meta field.
Read this field from its bound owner. An ownerless type-side descriptor
returns null.
Implementations
reflect.AnyClass for T
Instance methods
The class declaration's schema metadata, or empty metadata when the runtime type is not a class.
Read the field called name as T, or null if this value's class
declares no such field. A present field holding null also reads as
null; use has_field or get<T?> to tell the two apart.
Throws
reflect.errors.TypeMismatchif the field's value is not aT.
find_field
(self, name: string) -> reflect.class.Field | null throws neverA value-bound handle to the field called name, or null if this
value's class declares no such field.
get
<T>(self, name: string) -> T throws reflect.errors.NotFound | reflect.errors.TypeMismatchRead the field called name as T. Read a nullable field with a
nullable T (get<int?>). find returns null for a missing field
instead of throwing.
Throws
reflect.errors.NotFoundif this value's class declares no field calledname.reflect.errors.TypeMismatchif the field's value is not aT.
A value-bound handle to the field called name. find_field returns
null instead of throwing.
Throws
reflect.errors.NotFoundif this value's class declares no field calledname.
has_field
(self, name: string) -> bool throws neverWhether this value's runtime class declares a field called name.
false when the runtime type is not a class.
list_fields
(self) -> reflect.class.Field[] throws neverReflected fields bound to this value for Field.value<T>().
name
(self) -> string throws neverThe rendered name of this value's concrete runtime type.
This value's concrete runtime type.
Source:<builtin>/reflect/reflect.bamlbytes 14431–14461