次のようなカスタム構造体があります。
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()
ますか、それともマクロ経由でのみ取得できますか?
これがマクロで達成できる場合、どのように実装する必要がありますか?