Skip to main content

GetField

Trait GetField 

pub trait GetField {
    // Required methods
    fn get_field<T>(&self, name: &str) -> Option<&T>
       where T: Reflect;
    fn get_field_mut<T>(&mut self, name: &str) -> Option<&mut T>
       where T: Reflect;
}
Expand description

A convenience trait which combines fetching and downcasting of struct fields.

§Example

use bevy_reflect::{GetField, Reflect};

#[derive(Reflect)]
struct Foo {
    bar: String,
}

let mut foo = Foo { bar: "Hello, world!".to_string() };

foo.get_field_mut::<String>("bar").unwrap().truncate(5);
assert_eq!(foo.get_field::<String>("bar"), Some(&"Hello".to_string()));

Required Methods§

fn get_field<T>(&self, name: &str) -> Option<&T>
where T: Reflect,

Returns a reference to the value of the field named name, downcast to T.

fn get_field_mut<T>(&mut self, name: &str) -> Option<&mut T>
where T: Reflect,

Returns a mutable reference to the value of the field named name, downcast to T.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

§

impl GetField for dyn Struct

§

impl<S> GetField for S
where S: Struct,