reflect.interface.Implementation
An immutable structural-conformance witness. Values are created only by `reflect.Interface.implementation<I>()`; each `field` call returns a new witness. A structural witness that a runtime-built class implements an interface.
Signature
class reflect.interface.ImplementationAn immutable structural-conformance witness. Values are created only by
reflect.Interface.implementation<I>(); each field call returns a new witness.
A structural witness that a runtime-built class implements an interface.
Start one with reflect.Interface.implementation<I>() and link each
interface field to the class field satisfying it with field.
Source:<builtin>/reflect/ns_interface/interface.bamlbytes 384–926
Fields
_handle
$rust_typeInstance methods
field
(Links interface_field to the class field that satisfies it,
defaulting to the field of the same name.
Throws
reflect.errors.CompilationErrorif the interface declares no such field, or the link is not well typed.
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.
A 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.
Reflected 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