Skip to main content

ModelType

Struct ModelType 

Source
pub struct ModelType { /* private fields */ }
Expand description

The binding metadata of a model type: a type outside the class hierarchy (typically a view model) that bindings with a string path can navigate.

This is what stands in for reflection: the properties and methods a type declares by name, and how to reach the notification interfaces it implements from an untyped value.

Implementations§

Source§

impl ModelType

Source

pub fn value_type(&self) -> ValueType

Source

pub fn properties(&self) -> &[Rc<dyn IPropertyInfo>]

The declared properties.

Source

pub fn find_property(&self, name: &str) -> Option<Rc<dyn IPropertyInfo>>

Finds a declared property by name.

Source

pub fn find_method(&self, name: &str) -> Option<Rc<ModelMethod>>

Finds a declared method by name.

Source

pub fn as_notify_property_changed<'a>( &self, value: &'a dyn AnyValue, ) -> Option<&'a dyn INotifyPropertyChanged>

The property change notifications of value, if its type declared them.

Source

pub fn as_notify_data_error_info<'a>( &self, value: &'a dyn AnyValue, ) -> Option<&'a dyn INotifyDataErrorInfo>

The validation error notifications of value, if its type declared them.

Source

pub fn as_list<'a>( &self, value: &'a dyn AnyValue, ) -> Option<&'a dyn IBindableList>

Indexed access to value, if its type declared itself a list.

Source

pub fn as_indexer<'a>( &self, value: &'a dyn AnyValue, ) -> Option<&'a dyn IBindableIndexer>

The indexer of value, if its type declared one.

Source

pub fn as_array<'a>( &self, value: &'a dyn AnyValue, ) -> Option<&'a dyn IBindableArray>

Array access to value, if its type declared itself an array.

Source

pub fn as_notify_collection_changed<'a>( &self, value: &'a dyn AnyValue, ) -> Option<&'a dyn INotifyCollectionChanged>

The collection change notifications of value, if its type declared them or is a notifying list.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> ClassDefaults for T
where T: ?Sized,

Source§

fn static_constructor()

The static constructor of a type: work done once per thread, after the properties of the type are registered and before its first instance exists (class handlers, affects_render, metadata overrides). Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.