¿Cómo obtener programáticamente el número de campos de una estructura?
Tengo una estructura personalizada como la siguiente:
struct MyStruct {
first_field: i32,
second_field: String,
third_field: u16,
}
¿Es posible obtener el número de campos de estructura mediante programación (como, por ejemplo, mediante un método llamadofield_count()
):
let my_struct = MyStruct::new(10, "second_field", 4);
let field_count = my_struct.field_count(); // Expecting to get 3
Para esta estructura:
struct MyStruct2 {
first_field: i32,
}
... la siguiente llamada debería devolver1
:
let my_struct_2 = MyStruct2::new(7);
let field_count = my_struct2.field_count(); // Expecting to get count 1
¿Hay alguna API comofield_count()
¿o solo es posible obtenerlo a través de macros?
Si esto se puede lograr con macros, ¿cómo debería implementarse?