有没有一种方法可以通过名称访问结构体成员的TypeId
(std::any::TypeId::of::<T>
)?
如果我有一个基本的结构体:
MyStruct {
value: i64,
}
我只知道MyStruct
和value
,有没有一种方法可以访问TypeId::of::<i64>
- 其中i64
取决于value
的类型?
main () {
assert_eq!(
TypeId::of::<i64>,
// ^^^ this works
type_id_of!(MyStruct, value),
// ^^^ this is what I'm looking for
);
}
请参考相关问题:是否可以访问结构体成员的类型以用于函数签名或声明?
这个问题是关于如何在C语言中获取结构体成员的类型以用于函数签名或声明。
TypeId::of::<MyStruct::value>
这样吗?请注意,这种语法并不存在,但我认为它可以作为您尝试实现的示例。 - aochagavia