что-то на этом. Другой подход заключается в написании пользовательских макрокоманд получения, но я пока не могу об этом говорить.
я есть пользовательская структура, как показано ниже:
struct MyStruct {
first_field: i32,
second_field: String,
third_field: u16,
}
Можно ли получить число структурных полей программно (как, например, с помощью вызова метода)field_count()
):
let my_struct = MyStruct::new(10, "second_field", 4);
let field_count = my_struct.field_count(); // Expecting to get 3
Для этой структуры:
struct MyStruct2 {
first_field: i32,
}
... следующий вызов должен вернуться1
:
let my_struct_2 = MyStruct2::new(7);
let field_count = my_struct2.field_count(); // Expecting to get count 1
Есть ли API какfield_count()
или это возможно получить только с помощью макросов?
Если это достижимо с помощью макросов, как это должно быть реализовано?